私は複数のプロセスでデーモンを作成しています。最初のプロセスが完了したら、停止し、手動の割り込みSIGINT(CTRL + C)を必要とします。 この次のスクリプトが実行された後。SIGINTをシェルスクリプトに送る方法は?
プロセス1が正常終了しました。
SIGINTを追加して自動的に処理を進めるにはどうすればよいですか?
問題は簡単かもしれませんが、スクリプト内でどのように信号をトラップすることができるのでしょうか?しかし、タスクの完了後にどのように追加するのですか?
私は複数のプロセスでデーモンを作成しています。最初のプロセスが完了したら、停止し、手動の割り込みSIGINT(CTRL + C)を必要とします。 この次のスクリプトが実行された後。SIGINTをシェルスクリプトに送る方法は?
プロセス1が正常終了しました。
SIGINTを追加して自動的に処理を進めるにはどうすればよいですか?
問題は簡単かもしれませんが、スクリプト内でどのように信号をトラップすることができるのでしょうか?しかし、タスクの完了後にどのように追加するのですか?
コマンドkill -TERM -$$
を使用すると、現在のbashシェルとそのすべての子を強制終了できます。
編集:任意のプロセスが終了したとき、それはあなたが使用できる他のすべてを殺すように、それを変更するには
process1 &
process2 &
process3 &
process4
:
(process1 ; kill -TERM -$$) &
(process2 ; kill -TERM -$$) &
(process3 ; kill -TERM -$$) &
process4 ; kill -TERM -$$
たとえば、次のようなプロセスを起動している、場合
'kill -2 $ pid'を使用して' SIGINT'を送信します。 – anubhava
@anubhava AFAIKシグナル番号は移植可能ではありませんが、 'kill -INT $ pid'も動作します。 – melpomene
おそらくhttp://stackoverflow.com/questions/5789642/how-to-send-controlc-from-a-bash-scriptはより良い複製です。 – tripleee