守护进程状态文件应该放在 *nix 层次结构中的哪里?

守护进程状态文件应该放在 *nix 层次结构中的哪里?

这是关于 Unix/Linux 文件系统的典型问题。

我正在开发一个小守护进程,它每五分钟生成这样的输出:

Data1: 100
Data2: 201
Data3: 102

这些数据需要由另一个系统访问,因此我将其存储在另一个系统可以访问的小文件中。在 *nix 层次结构中是否有一个地方存放着告诉守护进程当前状态的小文件?我正在考虑把它放进去,/tmp/除非我找到更好的位置。

答案1

历史上较小的临时文件会转到/var或 ,/var/run但最近一些发行版放弃/var/run并开始使用 just /run,这就是大多数(如果不是全部)Linux 程序将日志写入其中的原因/var/log,通常里面有一个目录,其中包含应用程序的名称,让您可以使用/var/your_app/data_file.txt

/var/run/run包含仅在程序运行时存在的文件。

因此,如果您的守护进程将在停止时删除该文件并在每次启动时创建它,请使用/run,但如果即使在守护进程停止后您的文件仍将保留,请使用/var

相关内容