场景:
我有一个在linux上运行的进程,它在后台通过连接在/etc/init.d/
上的脚本启动,称为MyApp
,它只是一个没有.sh
的shell脚本。以下是我的init.d
脚本脚本
#!/bin/sh
PARAM=$1
case ${PARAM} in
start)
MyApp &
;;
stop)
killall -9 MyApp
;;
*)
echo "Usage: $0 {start|stop}" >&2
exit 1
;;
esac
如你所见,它在后台启动MyApp
。
目标和问题:
我想在崩溃时重启MyApp
。我试图找出这是怎么做的。看起来我必须从我阅读的各种链接中添加一个条目到/etc/inittab
。所以我在/etc/inittab
中添加了以下条目。
MyApp:12345:respawn:MyApp
题: 以上似乎不起作用,我怎样才能让它正常工作?我在这里做错了什么?
注意:
我正在做一个killall -9 MyApp
并因为我添加到/etc/inittab
的条目而将其重新启动。这种期望是否正确?
case ${PARAM} in
start)
(while :; do MyApp ;done) &
;;