|
发表于 2010-6-23 11:47:02
|
显示全部楼层
Post by Mr.Linux;2098205
想要让一个管理程序一直运行,即使被关闭了,也会自动重新运行这个程序。我想能不能监视进程,如该程序不在进程中,自动运行该程序。
请教中……谢谢。
一般做法是在启动脚本里面用 while 1 之类的循环把程序包起来。
这样程序一退出,就会进入 while 的下一个循环,继续启动。
如果是监视进程的话,就比较简单,你把该程序作为你的子进程启动,这样一旦进程退出,你就会收到 SIGCHILD 消息。在该信号处理函数中重新启动子进程即可。
通常不推荐使用轮询,因为程序大多数时间是在正常运行,轮询会不必要的消耗系统资源。而我上面两种方法都是被动通知,相关代码仅仅在程序退出的那一瞬间才触发。 |
|