首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果守护进程被用户杀死,如何重新启动Linux守护进程

如果守护进程被用户杀死,如何重新启动Linux守护进程
EN

Stack Overflow用户
提问于 2012-11-02 17:34:43
回答 3查看 3.5K关注 0票数 1

我已经用c语言编写了一个Linux守护进程,现在我的问题是,如果用户杀死了守护进程,那么守护进程必须自动重新启动,我如何在守护进程中实现它。

类似::在关机事件接收>重新启动守护进程

示例场景 守护进程是长寿的。通常,在系统启动时创建一个守护进程并运行,直到系统关闭,例如:一个名为XXX的守护进程,它执行重要的例程,比如监视特定日志文件的函数,如果发现在高安全应用程序中警告管理员,如果这个守护进程被杀死,它需要自动重新启动。

EN

回答 3

Stack Overflow用户

发布于 2012-11-02 17:50:06

如果用户使用kill通过pid关闭守护进程,则无法从守护进程内部重新启动它。(因为大多数用户在某个地方读到需要始终使用kill -9 -这在几乎所有情况下都是个坏主意,但他们仍然这么做)

如果您可以保证您的用户不使用kill -9 (您也不能),那么您可以设置一个信号处理程序来干净地退出并重新启动守护进程。

否则,最好的选择是让另一个进程在守护进程死掉或终止时重新启动它。查看守护进程工具或只使用一个简单的shell脚本:

代码语言:javascript
复制
while true; do
    daemon
    sleep 1
done
票数 1
EN

Stack Overflow用户

发布于 2012-11-02 18:12:35

这是个错误的问题。监视和重新启动(这就是您要问的)是一种容错技术。您不会使用容错来纠正人类机器操作员的故意和故意的决策。如果您不希望用户终止您的进程,请告诉他们不要这样做。如果他们忽视它,那么他们就破坏了他们的系统。标准系统守护进程一般不重生,为什么要你的?

票数 1
EN

Stack Overflow用户

发布于 2012-11-03 18:41:13

我在想,cron是否是验证守护进程活动的一个好/安全的主意。

例如:

每隔30分钟启动一个脚本来测试守护进程是否处于活动状态。

代码语言:javascript
复制
$ */30 * * * * <script to verify daemon activity>

脚本(伪代码):

代码语言:javascript
复制
if daemon is active
then
    :
else
    restart daemon
fi
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13200342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档