求高手指点进程监控问题

龙二伤 2009-08-13 11:49:43
小弟要作一个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 就会变成死进程,无法运行。

希望高手指点下阿!小弟感激不尽~
...全文
73 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
龙二伤 2009-08-13
  • 打赏
  • 举报
回复
#!/usr/bin/php5
<?php

for ($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");
}
}

?>


这是我现在的代码,困惑中~

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧