【发布时间】:2012-02-04 08:28:20
【问题描述】:
我有一个用 C 语言编写的守护程序,它使用 daemon() 调用。
如果它意外失败,我希望新贵重生。
我在 Ubuntu 8.04 上使用的是相当旧的 upstart 版本,0.3.9。
我创建了以下文件(/etc/event.d/my-daemon):
start on startup
stop on shutdown
respawn
daemon
exec /usr/bin/my-daemon
状态:
# status my-daemon
my-daemon (stop) waiting
开始:
# start my-daemon
my-daemon (start) waiting
my-daemon (start) starting
my-daemon (start) pre-start
my-daemon (start) spawned, process 32631
my-daemon (start) post-start
my-daemon (start) running
当我按预期执行ps aux | grep my-daemon 时,它会显示。然后我使用kill -9 杀死它,期待它重生,但之后再次发出ps aux 没有显示任何内容。做status my-daemon我得到:
my-daemon (start) running
有什么想法吗?
【问题讨论】: