スクリプトで使用するためにsupervisordを使用して作成されたプロセスのプロセスIDが必要です。 supervisordによって作成されたプロセスは、.pidファイルをデフォルトディレクトリに作成しません。とにかくSupervisordによって作成されたプロセスのIDを取得するには?
スーパーバイザの子プロセスのプロセスIDを取得するにはどうすればよいですか?
スクリプトで使用するためにsupervisordを使用して作成されたプロセスのプロセスIDが必要です。 supervisordによって作成されたプロセスは、.pidファイルをデフォルトディレクトリに作成しません。とにかくSupervisordによって作成されたプロセスのIDを取得するには?
スーパーバイザの子プロセスのプロセスIDを取得するにはどうすればよいですか?
supervisorctl status
を使用して、管理対象プロセスのpid
をリストします。
少しawk
、sed
とpaste
マッサージを使用すると、他のコマンドへの入力として受け入れられるために、これらのpid
Sを抽出することができます。
echo `bin/supervisorctl status | grep RUNNING | awk -F' ' '{print $4}' | sed -e 's/,$//' | paste -sd' '`
は、スペースで区切られたリストとしてプログラムを実行しているすべてのPIDを一覧表示します。 echo
をkill -HUP
コマンドに置き換えて、たとえばすべてSIGHUP
シグナルを送信します。
あなたは今、次の操作を行うことができます
sudo supervisorctl pid all
sudo supervisorctl pid myprogramname
歓声マルタインを。今あなたの以前の答えのおかげで無関係:)まだグループコマンドを取得することはできません。 – user1561108
これを行うための直接的な方法がないことに驚く。しかし、これは魅力のように動作します – JRun