Perl 用于检查端口是否正在运行的脚本

Perl 用于检查端口是否正在运行的脚本,perl,aix,Perl,Aix,我需要帮助以检查我的设备中是否有两个本地端口正在运行,如果是这样,请打开一个端口 例如: DB2端口:50001 MQ端口:1414 如果两者都打开,请打开端口45进行侦听。如果其中一个未打开,请关闭脚本端口 我正在运行AIX7.1有一个模块,我总是在第11行得到bind 45失败。感谢rook,我必须用sudo运行命令,但是什么也没有发生:/@user1961382这段perl代码,在45 TCP(本地)端口上启动侦听,如果50001和1414端口在本地主机上处于活动状态,这是您想要的吗?:)

我需要帮助以检查我的设备中是否有两个本地端口正在运行,如果是这样,请打开一个端口

例如:

DB2端口:50001 MQ端口:1414

如果两者都打开,请打开端口45进行侦听。如果其中一个未打开,请关闭脚本端口


我正在运行AIX7.1

有一个模块,我总是在第11行得到bind 45失败。感谢rook,我必须用sudo运行命令,但是什么也没有发生:/@user1961382这段perl代码,在45 TCP(本地)端口上启动侦听,如果50001和1414端口在本地主机上处于活动状态,这是您想要的吗?:)
use Socket;

socket(HSOCK, AF_INET, SOCK_STREAM, getprotobyname('TCP'));
$address = sockaddr_in(50001, inet_aton('0.0.0.0'));
if (! bind(HSOCK, $address)) {
  $address = sockaddr_in(1414, inet_aton('0.0.0.0'));
  if (! bind(HSOCK, $address)) {
    $address = sockaddr_in(45, inet_aton('0.0.0.0'));
    bind(HSOCK, $address) or die "bind 45 failed";
    listen(HSOCK, 5) or die "listen 45 failed";
     . . . # accept / loop
  }
}