场景:
我有一个在 linux 上运行的进程,该进程在后台通过连接在 /etc/init.d/
的脚本启动,称为 MyApp
这只是一个没有的 shell 脚本.sh
。以下是我的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) &
;;
关于linux - 使用 inittab 中的 respawn 条目重新启动 linux 应用程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52117991/