这是关于 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