为什么 Supervisord 默认配置为在 tmp 文件夹中执行/运行?

为什么 Supervisord 默认配置为在 tmp 文件夹中执行/运行?

我有一个关于主管的问题。运行 echo_supervisord_conf 后,我注意到它运行的目录默认配置为 /tmp。为什么会这样呢?是因为系统上的任何用户都可以写入 /tmp 文件夹,还是supervisord 将文件放在那里是因为它们需要被适当地视为临时文件?

我问的原因是因为我们有一个应用程序在 Redhat 机器上运行,并且 Redhat 似乎会自动从 /tmp 文件夹中清除某些文件。这似乎有时会导致我们的主管和应用程序崩溃。所以我想知道为什么supervisord 将文件放在该文件夹中,然后确定是否适合将它们放在其他地方。

任何帮助将不胜感激!

答案1

它只是一个默认值,可以在 .conf 或命令行中更改。这文档本身建议更改此设置(至少对于套接字):

echo_supervisord_conf 输出的示例配置使用 /tmp/supervisor.sock 作为套接字文件。该路径仅作为示例,可能需要更改为更适合您的系统的位置。某些系统会定期删除 /tmp 中的旧文件。如果socket文件被删除,supervisorctl将无法连接到supervisord。

相关内容