使用道具 举报
Post by Mr.Linux;2098205 想要让一个管理程序一直运行,即使被关闭了,也会自动重新运行这个程序。我想能不能监视进程,如该程序不在进程中,自动运行该程序。 请教中……谢谢。
Post by poet;2098272 一般做法是在启动脚本里面用 while 1 之类的循环把程序包起来。 这样程序一退出,就会进入 while 的下一个循环,继续启动。 如果是监视进程的话,就比较简单,你把该程序作为你的子进程启动,这样一旦进程退出,你就会收到 SIGCHILD 消息。在该信号处理函数中重新启动子进程即可。 通常不推荐使用轮询,因为程序大多数时间是在正常运行,轮询会不必要的消耗系统资源。而我上面两种方法都是被动通知,相关代码仅仅在程序退出的那一瞬间才触发。
Post by dwl301;2098249 #!/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 &
本版积分规则 发表回复 回帖后跳转到最后一页