Linux

.pid 文件對於確定程序是否正在執行是否可靠?

  • May 16, 2018

許多程序(例如 sshd)在 /var/run/ 中創建包含其程序 ID 的 .pid 文件。這些文件對於確定程序是否正在執行是否可靠?我的猜測是這些文件是由程序手動創建的,因此如果程序崩潰,它們仍將保留在文件系統中。

簡單來說,:程序(例如守護程序)可能會崩潰並且沒有時間清除其 .pid 文件。

一種更確定程序狀態的技術:使用顯式通信通道,例如套接字。將套接字埠寫入文件並讓supervisor程序查找它。

您還可以在 Linux 上使用 DBus 的服務:註冊一個特定名稱並讓您的主管程序(無論您如何稱呼它)檢查該名稱。

有許多技術。

要記住的一件事:管理 PID 文件不是作業系統的責任。

引用自:https://serverfault.com/questions/115838