求高手指点进程监控问题

龙二伤 架构师  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 就会变成死进程,无法运行。

希望高手指点下阿!小弟感激不尽~
...全文
46 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
龙二伤 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");
}
}

?>


这是我现在的代码,困惑中~
回复
相关推荐
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2009-08-13 11:49
社区公告
暂无公告