- 论坛徽章:
- 0
|
perl能实现进程重启吗?
偶下面这个程序运行后会运行一个记事本,如果你关闭这个记事本,即在进程列表中没有了notepad.exe的话,这个程序就会自动再运行记事本,这个是你想要的么?
必须安装Win32: rocess::Info模块
- #!/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);
- }
- }
复制代码 |
|