1
wy315700 2015-03-18 17:24:26 +08:00 1
用一个监控系统监控着,如果发现意外终止直接重启
比如 systemd initd 什么的 |
2
155 2015-03-18 17:26:19 +08:00 1
systemd、upstart、supervisor托管进程自动重启都可以, 但是我建议你最好打上log看看到底因为什么原因挂的.
|
3
chevalier 2015-03-18 17:31:17 +08:00
supervisor +1
|
4
joyeblue 2015-03-18 20:25:43 +08:00
以前的做法写个脚本,放到crontab 中每一分钟执行一次。
脚本内容:(只实现监控部分) program_count=$(ps -ef |pgrep monitor_process_name) if [[ $program_count lt 1 ]]; then # 执行重新启动的脚本命令,例如可以写个op.sh /data/svr/op.sh start fi |
6
qingh 2015-03-18 20:35:36 +08:00
|
7
Monad 2015-03-18 20:41:00 +08:00 1
取巧的办法是把这个进程当做某个进程的子进程启动,然后父进程waitpid,子进程挂了就继续起一个
不过你最好查清楚为什么会异常退出。 |
8
tigerstudent 2015-03-18 22:39:10 +08:00
楼上的解决方案都是保证进程运行,而楼主问的是如何防止进程结束运行。
|
9
Tink 2015-03-18 22:41:00 +08:00
看log
|
10
guangwong 2015-03-18 22:46:14 +08:00
代码写好点!
|
12
liangdi 2015-03-18 23:39:02 +08:00 via iPhone
找问题呀
|
13
GeekGao 2015-03-18 23:42:13 +08:00
敢问为啥意外终止了?
|
14
lparam 2015-03-19 15:25:45 +08:00
没办法防止,只能让你的进程死掉后,无人为干预重启。
|
15
aruisi OP |