亚洲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),但無法成功。請高手指教,謝謝~~
  1. #!/usr/bin/perl  -w

  2. use IO::Socket;

  3. my ($ip,$port,$sock,@ans);

  4. sub connect_to_ip(){
  5.         if(@_<2){
  6.                 print "缺少參數(shù): ip port\n";
  7.                 return;
  8.         }
  9.         $sock = new IO::Socket::INET (
  10.                         PeerAddr  => $_[0],  #ip
  11.                         PeerPort  => $_[1],  #port
  12.                         Proto     => 'tcp',
  13.                         Timeout   => 30,);
  14.         unless($sock){
  15.                 die "Error:$!\n";
  16.                 return;
  17.         }
  18. }

  19. open FILE,"< test.cf" or die "Cannot open file test.cf :$!";

  20. while(<FILE>){
  21.         next if /^\s*#|^\s*$/;
  22.         ($ip,$port)=($1,$2) if /((?:\d{1,3}.){3}\d{1,3})\s+(\d+)/;

  23.         &connect_to_ip($ip,$port);
  24.         print $sock "check_data\n";
  25.         print $sock "exit\n";

  26.         @ans = <$sock>;

  27.         close($sock);

  28.         foreach $line (@ans){
  29.                                                                 chomp;
  30.                 if($line =~ /$_.*異常/){
  31.                    print $line;

  32.                                                                          &connect_to_ip($ip,$port);
  33.                                                                          print $sock "restart_proc\n";
  34.                                                                          print $sock "exit\n";
  35.                                                                          print $out while (defined($out=<$sock>));

  36.                         }
  37.         }
  38. }

  39. 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