0

我有一个使用 supervisord 监控的 c++ 可执行文件。我把 supervisord 作为启动过程。当我重新启动时,supervisord 和我的可执行文件工作正常(功能上)。并在 tmp 中创建 Stdout_log 文件(这也很好)。但是日志文件是空的。

在我的可执行文件中,我运行了几个使用 system() 执行的 bash 脚本,但它也失败了。

所以我有两个问题

  1. 日志文件为空
  2. 系统()失败

我可以将这些问题与一些许可相关联,但没有解决它的线索。寻找一些建议

谢谢

4

1 回答 1

0

如果您的可执行文件不能以 root 身份运行,请以非特权用户身份运行。

通过设置选项将所有supervisord配置为以另一个用户身份运行:[supervisord] user

[supervisord]
user = wwwdata

或在它的部分user为您的可执行文件设置一个参数:[program:x]

[program:yourprogram]
user = wwwdata
于 2012-08-03T22:15:50.143 回答