簡體   English   中英

具有PPID 1的Linux on重新啟動過程不會清理資源(套接字)

[英]Linux on reboot process with PPID 1 do not clean up resources (socket)

在系統重新啟動linux之后,我的ppid 1網絡應用程序惡魔沒有斷開套接字連接。 但是,如果使用kill -9手動殺死那個惡魔,它將斷開連接。

如果我使用nohup運行應用程序,我也會注意到相同的行為。 在重新啟動時,它不會斷開連接,而在不使用nohup的情況下,連接也會斷開。

請提供有關如何正確處理惡魔清理資源的指示。

如果向服務器進程發送KILL信號(即信號9),則您將無法進行任何清理。 但是,通常服務會提供一些觸發干凈關閉的方法。 在任何情況下都希望具有適用於TERM信號(信號15)的適當處理程序的形式。

此外,明智的做法是將服務設置為通過系統的服務管理子系統進行管理,無論是SystemV樣式的初始化腳本,systemd還是其他眾多替代方法。 這樣,你有過系統的系統重啟或關機過程中如何以及何時關閉您的服務更多的控制,再加上它更容易的是在需要時手動管理服務。

這是個有趣的問題。

TCP活動關閉要求發送FIN並等待FIN/ACK 顯然,當要求系統重新啟動時,它不應等待FIN/ACK 它仍然可以發送FINRST

但是,您的其他應用程序一定不能期望對等方在連接失敗時發送FINRST 例如,如果您從計算機上拔下以太網電纜,並且您的應用程序不發送任何數據,則永遠不會通知對等方已斷開連接。 相反,您的應用程序應發送保持活動消息以檢測斷開的連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM