亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標題:
請教如何更好地使用socket來監(jiān)控網(wǎng)絡中主機
[打印本頁]
作者:
gaoquanlong
時間:
2010-12-25 01:49
標題:
請教如何更好地使用socket來監(jiān)控網(wǎng)絡中主機
在局域網(wǎng)中有幾臺機器,現(xiàn)均開tcp端口用于管理,要實現(xiàn)的功能就是“登錄相應主機端口,運行一個檢查程序,然后根據(jù)返回結(jié)果來決定是否運行第二個程序”,下面這個腳本雖可以完成這個任務,但是要多次連接主機,也曾嘗試使用fork方式來實現(xiàn),但無法成功。請高手指教,謝謝~~
#!/usr/bin/perl -w
use IO::Socket;
my ($ip,$port,$sock,@ans);
sub connect_to_ip(){
if(@_<2){
print "缺少參數(shù): ip port\n";
return;
}
$sock = new IO::Socket::INET (
PeerAddr => $_[0], #ip
PeerPort => $_[1], #port
Proto => 'tcp',
Timeout => 30,);
unless($sock){
die "Error:$!\n";
return;
}
}
open FILE,"< test.cf" or die "Cannot open file test.cf :$!";
while(<FILE>){
next if /^\s*#|^\s*$/;
($ip,$port)=($1,$2) if /((?:\d{1,3}.){3}\d{1,3})\s+(\d+)/;
&connect_to_ip($ip,$port);
print $sock "check_data\n";
print $sock "exit\n";
@ans = <$sock>;
close($sock);
foreach $line (@ans){
chomp;
if($line =~ /$_.*異常/){
print $line;
&connect_to_ip($ip,$port);
print $sock "restart_proc\n";
print $sock "exit\n";
print $out while (defined($out=<$sock>));
}
}
}
close FILE;
復制代碼
作者:
flw
時間:
2010-12-25 12:38
一定要學會封裝。
作者:
gaoquanlong
時間:
2010-12-26 12:46
懇請版主詳細指教,多給點意見,謝謝!
作者:
meihuaqi
時間:
2010-12-26 14:07
嫌連接次數(shù)多,可以連一次不釋放,等所有工作都干完再釋放啊。
作者:
liyangole
時間:
2010-12-26 20:41
可以看看仙子提供的監(jiān)控程序,應該在精華里有的,我看了受益匪淺的。
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2