|
|
第 1 帖 | |
|
|
标题: 如何保持程序一直运行? 想要让一个管理程序一直运行,即使被关闭了,也会自动重新运行这个程序。我想能不能监视进程,如该程序不在进程中,自动运行该程序。
请教中……谢谢。 |
|
|
|
|
|
|
|
第 2 帖 | |
|
|
inittab
__________________
-..- .---- .---- |
|
|
|
|
|
|
|
第 3 帖 | |
|
|
#!/bin/bash
##Name: a.sh if [ -z `ps ax|grep zzz|grep -v grep` ];then ./zzz fi sleep 1 ./a.sh ####后台运行a.sh,每秒检查一次zzz是都运行,没有就执行他 #./a.sh & 此帖于 10-06-23 10:10 被 dwl301 编辑. 原因: 修改 |
|
|
|
|
|
|
|
第 4 帖 | ||
|
|
引用:
这样程序一退出,就会进入 while 的下一个循环,继续启动。 如果是监视进程的话,就比较简单,你把该程序作为你的子进程启动,这样一旦进程退出,你就会收到 SIGCHILD 消息。在该信号处理函数中重新启动子进程即可。 通常不推荐使用轮询,因为程序大多数时间是在正常运行,轮询会不必要的消耗系统资源。而我上面两种方法都是被动通知,相关代码仅仅在程序退出的那一瞬间才触发。 |
||
|
|
|
||
|
|
第 5 帖 | ||
|
|
引用:
|
||
|
|
|
||
|
|
第 6 帖 | ||
|
|
引用:
|
||
|
|
|
||
|
|
第 7 帖 | ||
|
|
引用:
|
||
|
|
|
||
|
|
第 8 帖 | |
|
|
while [ 1 ]
do #运行程序 done |
|
|
|
|
|
|
|
第 9 帖 | |
|
|
用upstart
自己编辑文件放到/etc/init/下,参照现成的写 /etc/inittab已经被废了 |
|
|
|
|
|