Root

在後台執行根任務/程序的正確方法

  • December 18, 2014

我正在編寫一個需要以 root 身份在後台執行的程序。

(對於任何使用者)

為此,我使用了該/etc/rc.local文件。它似乎有效。

我遇到的問題是,當普通使用者嘗試關閉電腦時,由於 root 帳戶有一個活動的“任務”,普通使用者被支持輸入 root 密碼。

這讓我猜測我可能以錯誤的方式這樣做。有沒有更好的方法來做到這一點?我已經想到了一些可能有效的修復程序,但我真的很想知道如何正確地做到這一點!

不,它不依賴於它。如果你從 rc.local 呼叫一個簡單的任務,你不應該得到這種行為。

如果您想在後台以 root 身份執行任務:這就是所謂的守護程序。有更多的方法可以做到這一點,最有可能的 3 種:

  1. 如果惡魔定期做某事,您可以將其開發為crontab腳本。這很清楚,雖然不是很有效。
  2. 您也可以為此創建服務,這意味著:1. 您必須在 中開發其啟動/停止腳本/etc/inittab,以及 2. 您必須使用 systemd 配置服務(這可能是您的主要係統服務啟動器/重啟器守護程序) . 如果您在這裡遇到問題,歡迎您的下一個問題。
  3. 最強大的解決方案是通過結合前兩個來實現的。儘管它也結合了備份方案。您實現一個系統服務,將其作為系統服務執行,並開發一個測試腳本,它只測試它是否正常工作。如果沒有,則殺死並重新啟動。

關於您的實際問題:不,幾乎肯定會提示使用者,而不是因為一個簡單的正在執行的守護程序。它必須在您設置中的其他位置。在一個正常的系統上,大約有數百個程序,實際上總是有一些任務無法完全停止(或者因為一些問題,或者因為它不需要,或者因為它是不可能的)。它不會導致系統出現問題,只會加快重啟速度。如果您詳細說明您使用哪個發行版,您在後台執行什麼等。它對我們有很大幫助。

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