atを介して実行される長期実行コマンドのpidを取得します。

atを介して実行される長期実行コマンドのpidを取得します。

永続サーバーを作成したいですnetcat。私が選択したコマンドは次のとおりです。

echo "bash -c \"while [ 1 ]; do nc -l -p 1111 >> check; done\"" | at now

at必要に応じて、サーバーを簡単にスリープ状態にするために作成されたプロセスのPIDを取得する方法を知りたいです。

答え1

引用のため少しトリッキーです。 「から」に変更されたことに注意してください。

at以下を介してジョブを送信すると、次のことが機能します。at -f file

at -f nc.on now
cat nc.on
bash -c 'while [ 1 ]; do echo $$ > /var/run/atnc.pid; nc -l -p 1111  >> check; done'

ファイルには、/var/run/atnc.pidncが実行されているbashのプロセスIDがあります。

ファイルをキャットしてbashプロセスIDを取得し、それを終了してncを終了できます。次にrm /var/run/atnc.pid (オプション)。

関連情報