Linux
當我通過 systemctl 或 init 重新啟動服務時會發生什麼
我試圖了解重啟期間程序的生命週期。
例如:
如果我們發出重啟命令
- 它會殺死程序ID
- 刪除或刷新描述符中所有打開的文件。
- 關閉 TCP 或 Unix 套接字
- 然後開始 - 將觸發所有實際命令。
有人可以幫助以更好的方式理解這一點嗎?
SIGTERM
將向伺服器程序發送一個信號,並期望該程序將退出。由程序本身來擷取信號並執行正常退出所需的任何操作。即程序本身應該負責刷新文件、關閉它打開的網路連接等。如果程序沒有在超時限制內退出,它會被一個
SIGKILL
信號強制終止。超時的預設值為 90 秒。