2012-07-28 82 views
0

這是一個重複的問題在這裏: Differences in controlling daemons & applications與更新的代碼只有 讓更多的人 可以查看和評論。守護程序和應用控制


大家好,

對於這個優秀的帖子:

What's the difference between nohup and a daemon?

我想問下:

推出從我的終端應用程序後,應用程序不管是在後臺還是在前臺運行,我唯一能做的就是通過發送它來自我的終端的信號(鑑於stdin仍在)。

然而,守護進程啓動後,我意識到,它可以與其它方式控制例如查詢,或重新啓動它(弓道):

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

可能有人如果給我解釋一下功能內置於通用的「守護進程框架」中,並且作爲一項特殊功能應用於每個守護進程,還是僅作爲一項規定,旨在作爲守護進程運行的進程必須在內部進行處理?

爲了增加更多的事情,我們怎樣才能從終端使用他們的名字(即sambad stop)「控制」守護進程,而應用程序總是必須使用他們的名字來引用(即kill -9 1234 )?

預先感謝您!


+0

主題現在可以關閉。由於普通的unix信號不包含任何信息,因此我基本上關注如何實現進程間通信。 – kstratis 2012-07-30 19:41:02

回答

1

對於不同的守護進程,這是完全不同的。只要看看這些文件(/etc/rc.d/*),看看它是如何完成的。

在debian大多數服務使用start-stop-daemon。 PID存儲在一個文件中,並且start-stop-daemon向該PID發送信號。

+0

即使映射如您聲稱的那樣,這些也不僅僅是簡單的信號。狀態和其他命令強制守護程序在已經運行時(!!)打印信息,因爲沒有應用程序可以在啓動後處理標誌。 – kstratis 2012-07-28 18:23:01

+0

@ Konos5哪個守護進程和哪個命令?有很多方法可以實現這一點。在我的機器'狀態'上檢查過程是否正在運行。 – 2012-07-28 19:01:57

相關問題