Shell

將程序作為守護程序執行與使用 nohup 和 & 執行程序之間有區別嗎?

  • August 30, 2018

我正在嘗試將我的程序作為守護程序執行,但我目前這樣做的方式需要 root 訪問權限。我想知道是否可以使用帶有 & 的 nohup 命令將其推送到後台,而不是將我的程序作為服務執行。

我知道在這里之前已經問過一個類似的問題:將程序作為守護程序執行和使用 ‘&’ 將其分叉到後台有什麼區別?

但我想知道添加 nohup 命令是否可以使它像守護程序一樣執行。

執行守護程序和在後台執行程序是有區別的——事實上,可以在前台執行守護程序。

守護程序模式是軟體的不同功能,在沒有使用者互動組件的情況下無限循環執行。使用 & 並不能保證軟體不會繼續接受 stdin 上的輸入和 stdout 上的輸出。通常,守護程序模式具有不同的功能,例如,預設情況下,軟體會在守護程序模式下更徹底地記錄——在標準模式下,它只是簡單地輸出到標準輸出。Nohup 將忽略軟體的輸出,但它仍然不會使軟體以守護程序模式執行。最壞的情況是,如果需要使用者輸入,軟體可能會掛起。

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