Pet*_*ter 18 linux ubuntu linux-kernel
我们有大约40台运行相同硬件和软件的计算机.他们都运行Ubuntu 11.10.它们都只有一个用户帐户才能登录..profile文件设置为启动守护程序进程.守护程序的代码用C编写.
几周后,我们会收到一份报告,告知该守护程序不再运行.这不会发生在所有计算机上,只会发生一两个.我们不能始终如一地重现这个问题.
查看代码,应用程序在收到SIGHUP或SIGTERM时退出.
据我了解,当用户注销时会生成SIGHUP.在我们的例子中,用户从不注销.我想知道是否有可能因为其他原因而生成SIGHUP.任何其他想法将不胜感激.
mvp*_*mvp 12
可以使用kill实用程序或kill系统调用发送信号.当然,您可以尝试找出谁发送该信号或断开您的终端或网络连接,但有更简单实用的方法来解决您的问题.
当代码应该作为守护进程运行时,但实际上不是(就像你的那样),有一个包装器可以将任何程序变成守护进程.惊喜 - 这封包被称为daemon!它有很多选项,可能是最重要的选择,如果因任何原因死亡,它会自动重启你的实用程序.
如果你的Ubuntu未安装该命令,只是sudo apt-get install daemon和man daemon上手.
| 归档时间: |
|
| 查看次数: |
31050 次 |
| 最近记录: |