setsid コマンドを使用してプロセス (websocket サーバー) を開始します。
setsid python mod_pywebsocket/standalone.py -p 12345
しかし、どうすればそれを止めることができますか? pidを取得して殺す方法がわからないだけで、現在実行されていると確信しています。
setsid コマンドを使用してプロセス (websocket サーバー) を開始します。
setsid python mod_pywebsocket/standalone.py -p 12345
しかし、どうすればそれを止めることができますか? pidを取得して殺す方法がわからないだけで、現在実行されていると確信しています。
このハックを試すことができます:
setsid sh -c 'python mod_pywebsocket/standalone.py -p 12345 > /dev/null & echo $!' |
while read PID ; do
echo $PID
your stuff here
done
これにより別のシェルが開始され、プロセスがバックグラウンドで開始され、$! を使用してそのジョブ ID が出力されます。オペレーター。
内部のコマンドは出力ストリームを閉じるまで返されないため、ここに PID=$(...) を書き込むことはできません。そのため、最初の行を読み取り、コマンドまで待機しないダミーの「while read X」ループを次に示します。 stdout を閉じるため、そのループ内で必要なことは何でも行う必要があります。出力は 1 行だけなので、一度だけ実行されます。