
我想在 Linux 安裝啟動時以 root 身分啟動後台進程。我可以將其新增至目錄或設定檔嗎?
答案1
基本上你有兩個選擇:
使用
cron
具有@reboot
時間規範的作業(crontab(1)
有關詳細信息,請參閱手冊頁)由init系統啟動它。對於 BSD/SysV 初始化樣式,這意味著在某處添加一個腳本以在所需的運行等級中運行。對於 systemd,這涉及建立一個單元檔案並由所需的目標需要它。
第一個解決方案更適合一台或兩台機器的本地事物(因為它們更多的是配置事物);第二個適用於可能在更多系統上運行的服務/守護程序之類的東西——並且實際上應該打包以使維護更容易。
答案2
在啟動時以 root 身份運行進程的最簡單方法是從 啟動它/etc/rc.local
。編輯該文件並添加一行,例如
/path/to/my/daemon &
然而,這並不是啟動守護程式的好方法。您沒有方便的方法來控制它(檢查它是否正在運行、停止它、重新啟動它等)。
有幾個框架可以控制守護程式。它們與您的 init 系統緊密相關:Sysvinit、Upstart、Systemd 各有各的方式。檢查系統上安裝的內容(不同的 UNIX 變體有所不同,對於 Linux,它因發行版和管理員選擇而異)。