关于这篇优秀的帖子:
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)?
提前谢谢!
答案 0 :(得分:2)
# /etc/rc.d/daemon-name {start|stop|restart|status|...}
它不是直接向守护进程查询。它通过标准接口启动脚本,这些脚本依次通过PID和信号与守护进程一起运行。这个脚本是在守护程序程序的安装过程中创建的。