【使用例紹介】シグナル受信時の動作を設定:trap (cmd) (PID)【シェルスクリプト】
備忘録になります。とりあえず簡単な記述例だけ記述します。Mac環境での動作ログです。
# 端末1
$ cat wrk.sh
trap "echo SIGNAL:2 received." 2
# 処理を終了させないようにループさせておきます。
while [ true ]; do
sleep 1;
done
$ ./wrk.sh
SIGNAL:2 received. # シグナル(2)を受けたタイミングで出力。処理は継続
# 端末2
$ ps
PID TTY TIME CMD
20575 ttys000 0:00.23 -zsh
28595 ttys000 0:00.02 sh ./wrk.sh
28613 ttys000 0:00.00 sleep 1
28576 ttys001 0:00.03 -zsh
$ kill -2 28595 # シグナル送信
関連リンク