首頁 > 後端開發 > Golang > 如何防止Systemd在主進程退出時殺死子進程?

如何防止Systemd在主進程退出時殺死子進程?

Patricia Arquette
發布: 2024-12-24 19:17:10
原創
725 人瀏覽過

How to Prevent Systemd from Killing Child Processes When the Main Process Exits?

從主Systemd 進程中分離子進程

從主進程產生子進程時,確保子進程即使在主進程處於活動狀態時也保持活動狀態至關重要終止。在管理長時間運行的後台任務時,這種行為尤其理想。

在您的特定場景中,您希望在從 systemd 服務管理員啟動時將子進程與主進程 (exectest) 分開。但是,您發現子進程與主進程一起終止。

解決方案在於修改systemd 設定檔(/etc/systemd/system/exectest.service)以包含以下行:

KillMode=process
登入後複製

預設情況下,systemd 應用「控制組」終止模式,該模式在終止時終止主進程控制群組內的所有子進程。透過將其變更為“process”,您可以指示 systemd 僅終止主進程本身,而使子進程保持不變。

此修改可確保子進程繼續執行並在主進程終止或重新啟動後繼續存在進程,即使它是從 systemd 啟動的。

以上是如何防止Systemd在主進程退出時殺死子進程?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板