![为什么 Supervisord 默认配置为在 tmp 文件夹中执行/运行?](https://linux22.com/image/203196/%E4%B8%BA%E4%BB%80%E4%B9%88%20Supervisord%20%E9%BB%98%E8%AE%A4%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%9C%A8%20tmp%20%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%89%A7%E8%A1%8C%2F%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我有一个关于主管的问题。运行 echo_supervisord_conf 后,我注意到它运行的目录默认配置为 /tmp。为什么会这样呢?是因为系统上的任何用户都可以写入 /tmp 文件夹,还是supervisord 将文件放在那里是因为它们需要被适当地视为临时文件?
我问的原因是因为我们有一个应用程序在 Redhat 机器上运行,并且 Redhat 似乎会自动从 /tmp 文件夹中清除某些文件。这似乎有时会导致我们的主管和应用程序崩溃。所以我想知道为什么supervisord 将文件放在该文件夹中,然后确定是否适合将它们放在其他地方。
任何帮助将不胜感激!
答案1
它只是一个默认值,可以在 .conf 或命令行中更改。这文档本身建议更改此设置(至少对于套接字):
echo_supervisord_conf 输出的示例配置使用 /tmp/supervisor.sock 作为套接字文件。该路径仅作为示例,可能需要更改为更适合您的系统的位置。某些系统会定期删除 /tmp 中的旧文件。如果socket文件被删除,supervisorctl将无法连接到supervisord。