控制守护进程的差异&应用

时间:2012-07-27 20:21:51

标签: bash process terminal signals daemon

关于这篇优秀的帖子:

What's the difference between nohup and a daemon?

我想问以下问题:

从我的终端启动一个应用程序后,应用程序在后台或前台继续运行,我唯一可以做的就是从我的终端发送信号(假设stdin仍然存在)

然而,在启动守护程序进程后,我意识到它可以通过其他方式控制,例如查询或重新启动它(arch方式):

# /etc/rc.d/daemon-name {start|stop|restart|status|...}

有人可以向我解释一下该功能是否内置于通用"守护程序框架"并作为一个特殊功能应用于每个守护进程,或者它只是一个设置为作为守护进程运行的进程必须在内部处理?

为了增加更多内容,我们如何能够控制"来自终端的守护进程使用他们的名字(即sambad stop),而应用程序总是必须使用他们的名字来引用(即kill -9 1234)?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

# /etc/rc.d/daemon-name {start|stop|restart|status|...}

它不是直接向守护进程查询。它通过标准接口启动脚本,这些脚本依次通过PID和信号与守护进程一起运行。这个脚本是在守护程序程序的安装过程中创建的。