我们在Linux上有一个关键任务服务器程序,我们不希望其他人意外终止它。如果有人终止它或使其崩溃,我们希望它重新启动。

因此,我们计划编写另一个程序,例如程序B。我们希望程序B和服务器程序相互保护。如果我们的服务器程序退出,程序B将重新启动它。如果程序B终止,则服务器程序将再次启动它。但是,我们没有一个好的机制可以让程序B和服务器程序在其同级退出时得到通知。

最佳答案

您可以使用init来完成该过程,并且由于init仅在重新启动时终止,因此不需要“程序B”。

添加到/etc/inittab的末尾:

x:3:respawn:/path/to/my/program

有关语法和其他选项的信息,请参见man inittab

07-25 20:19