场景:
我有一个在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
的条目而使其重新启动。这个期望正确吗?
答案 0 :(得分:1)
case ${PARAM} in
start)
(while :; do MyApp ;done) &
;;
答案 1 :(得分:0)
这个答案来的比较晚,但是您在所写行中的唯一 ID 是 5 个字符。 ID 的最大长度必须为 4。