0

Supervisord を使用して監視する C++ 実行可能ファイルがあります。そして、起動プロセスとしてsupervisordを作りました。再起動すると、supervisord と実行可能ファイルが (機能的に) 正常に動作します。Stdout_log ファイルは tmp に作成されます (これも問題ありません)。しかし、ログ ファイルは空です。

そして、私の実行可能ファイルでは、system() を使用して実行するいくつかの bash スクリプトを実行していますが、それも失敗しています。

だから私は2つの問題があります

  1. ログファイルが空です
  2. system() が失敗しています

これらの問題を何らかの許可に関連付けることはできますが、修正する手がかりはありません。いくつかの提案を探しています

ありがとう

4

1 に答える 1

0

実行可能ファイルをルート自体として実行できない場合は、代わりに非特権ユーザーとして実行してください。

次のオプションを設定して、すべての Supervisord を別のユーザーとして実行するように構成します。[supervisord] user

[supervisord]
user = wwwdata

または、そのセクションuserで実行可能ファイルのパラメーターを設定します。[program:x]

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