守护进程&应用控制

时间:2012-07-28 15:46:31

标签: linux bash unix process daemon

这是一个重复的问题: Differences in controlling daemons & applications 只有更新标签才能有更多人 可以查看和评论。


大家好,

关于这篇优秀的帖子:

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 :(得分:1)

对于不同的守护进程,这是不同的。只需查看这些文件(/etc/rc.d/*),看看它是如何完成的。

在debian上,大多数服务使用start-stop-daemon。 PID存储在一个文件中,start-stop-daemon向该PID发送信号。