System-V 類型初始化腳本 LSB 標頭中的「Required-Stop:」行

System-V 類型初始化腳本 LSB 標頭中的「Required-Stop:」行

我編寫了一個守護進程,它監視某個目錄中的文件,如果將新文件複製到該目錄,則將其提交給 SVN。只有當遠端裝置將檔案複製到此目錄時,新檔案才會出現在該目錄中scp。現在我想在 OpenSUSE 11.4 中為這個守護程式建立一個 System-V 初始化腳本。很明顯,該Required-Start:行應該只包含$sshd引導工具,因為這可以確保本機檔案系統已安裝、網路可操作並sshd已啟動。這三個引導工具是守護進程的先決條件,即如果守護進程無法運行,則沒有必要啟動守護進程sshd,因此它不可能透過 接收新檔案scp。但是,我有點困惑我應該如何配置該Required-Stop:行,該行列出了應該啟動的任何引導設施不是在關閉守護程序之前停止。在我看來sshd,在守護程序停止之前,在停止(不接收任何新檔案)的同時,安裝本機檔案系統並運行網路(用於將檔案上傳到 SVN)是合乎邏輯的。Required-Stop: $sshd可能會造成守護程序停止的情況,而在停止scp之前收到新檔案。sshd

簡而言之,以下方法對我來說似乎是最合乎邏輯的:

# Required-Start: $sshd
# Required-Stop: $local_fs $network

我對麼?

答案1

根據https://wiki.debian.org/LSBInitScripts在關於Required-Stop

通常,您會在此包含與Required-Start 關鍵字相同的功能。

在啟動之前執行此腳本ssh並不是像您在OP中建議的那樣的問題,它只是意味著該守護程序將等待在ssh啟動之前永遠不會出現的檔案。然而,這個腳本確實需要以下功能$local_fs$network因此我將使用以下兩行

# Required-Start: $local_fs $network
# Required-Stop: $local_fs $network

相關內容