Debian
在 Debian 10 Buster 中創建自定義 /etc/init.d 腳本
我需要開發一個
/etc/init.d
腳本來啟動和停止 Debian 10 Buster 中的伺服器(二進制執行檔)。而在 Debian 的早期版本中,您會編寫一個完整的 shell 腳本來發出對 的呼叫'start-stop-daemon'
,而在最近的版本中,這些機制似乎已經被抽象掉了。手冊頁'init-d-script'
提供了一個簡單的腳本,它將根據設置一個變數來啟動和停止伺服器'DAEMON'
。但是,我需要在伺服器啟動後通過將鎖定文件寫入磁碟來進行自定義,更改目前工作目錄並將自定義參數傳遞給伺服器。
手冊頁指的是開發覆蓋函式,例如
'do_start_override'
和'do_stop_override'
可能被呼叫而不是預設函式。我應該如何編寫覆蓋函式?我應該複製並粘貼該功能並對其'do_start_cmd()'
進行'/lib/init/init-d-script'
修改嗎?或者我應該呼叫'start_daemon()'
中定義的函式'/lib/lsb/init-functions'
?
聰明的回應:
apt-get install sysvinit-core
免責聲明:我沒有在 Buster 上做過這個,不要在重要的系統上嘗試。
假設您想堅持使用新的預設值,因為 Jessie,systemd,init.d 腳本不是首選方法。配置一個 systemd 服務單元將是要走的路。