在配置新貴守護程式時,我應該明確地在前台運行程式(而不是作為守護程式),還是「expect fork」?

在配置新貴守護程式時,我應該明確地在前台運行程式(而不是作為守護程式),還是「expect fork」?

許多程式允許在守護程式模式(通常是預設模式)下運行,或使用諸如 之類的標誌在前台顯式運行它-f

現在,當配置新貴來運行這樣的程式時,我可以這樣做

exec foo -f # run in foreground

或者

expect fork
exec foo # automatically runs as a daemon

有理由選擇其中一個嗎?感覺在前台運行所有內容並讓新貴處理進程更容易,但這有缺點嗎?

答案1

我非常喜歡在前台運行東西;它避免了守護進程可能出現的任何複雜情況(例如新貴失去對長時間運行的守護程序的追蹤)。唯一的例外是一小部分守護程序,它們有將“請在前台運行”解釋為“請在某種性能不佳的調試模式下運行”的令人不快的習慣,並做一些愚蠢的事情,例如僅運行一個線程,或不產生童工,等等。

相關內容