场景:
我有一个在 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) &
;;
这个答案来得很晚,但你写的行中的唯一ID是5个字符。ID 的最大长度必须为 4。