小弟要作一个ubuntu 下的进程监控器,用php 脚本编写,大致目标是: 程序运行起来后,会每隔一段时间去查看当前是否有一个名为 AAA.out 的进程存在,如果不存在,fork 出一个子进程,在子进程中会调用一个脚本s.sh, s.sh 设置一些变量后会再开个子进程去执行AAA.out;如果名为 AAA.out 的进程存在,则不做任何事,继续监视。
AAA.out 将会由一个脚本运行 kill -9 去结束,希望只要AAA.out 被杀了,进程监控器还能再次启动子进程并启动AAA.out
现在问题是,当AAA.out 结束,我的进程监控器会再开个子进程,其子进程也调用脚本s.sh了,但是却不会启动AAA.out
这是如果手动杀了子进程s.sh , AAA.out 就会变成死进程,无法运行。希望高手指点下阿!小弟感激不尽~
AAA.out 将会由一个脚本运行 kill -9 去结束,希望只要AAA.out 被杀了,进程监控器还能再次启动子进程并启动AAA.out
现在问题是,当AAA.out 结束,我的进程监控器会再开个子进程,其子进程也调用脚本s.sh了,但是却不会启动AAA.out
这是如果手动杀了子进程s.sh , AAA.out 就会变成死进程,无法运行。希望高手指点下阿!小弟感激不尽~
<?phpfor ($i=1; $i<=3; $i++)
{
$pid = pcntl_fork(); if ($pid == -1)
{
echo "can't create a child process\n";
exit(0);
}
else if ($pid)
{
pcntl_wait($status);
continue;
}
else
{
system("./s.sh $argv[1] /mnt/cdrom$i");
}
}?>
这是我现在的代码,困惑中~