Init-Script

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

  • April 20, 2019

我寫了一個守護程序,它監視某個目錄中的文件,如果一個新文件被複製到這個目錄,那麼它就會被送出給 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

我對麼?

根據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

引用自:https://unix.stackexchange.com/questions/240753