perl能实现进程重启吗?

perl能实现进程重启吗?

在windows下面,想让进程自动重新启动
能实现吗?
能给些建议吗?谢谢大家


QUOTE:
原帖由 "Luckyhan" 发表:
在windows下面,想让进程自动重新启动
能实现吗?
能给些建议吗?谢谢大家

------------------------
use Proc:rocessTable;



$t = new Proc:rocessTable;



foreach $p (@{$t->;table})

{

# note that we will also kill "xinetd" and all processes

# whose command line contains "inetd"

kill 9, $p->;pid if $p->;cmndline =~ 'inetd';

}
------------------------------
用于unix的,windows的你可以到cpan上找找,应该有的
偶下面这个程序运行后会运行一个记事本,如果你关闭这个记事本,即在进程列表中没有了notepad.exe的话,这个程序就会自动再运行记事本,这个是你想要的么?
必须安装Win32:rocess::Info模块

[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/perl
#cnhackTNT[AT]perlchina.org
use Win32::Process::Info;

$execer='notepad.exe';
$runORnot=0;
$|=1;
system('start '.$execer);
$pi = Win32::Process::Info->;new ();
while(1){
        foreach $proc ($pi->;GetProcInfo ()) {
                if($$proc{'Name'} eq $execer){
                        $runORnot++;
                        last;
                }else{
                        $runORnot=0;
                }
        }
        if($runORnot==1){
                print " "x70,"\r";
                print "$execer is running....\r";
        }else{
                print " "x40,"\r";
                print "$execer in not running,I will call process $execer\r";
                sleep 1;
                system('start '.$execer);
        }
}

perl运行在linux下面的进程重启 是用  kill 1,$pid 吧