【使用例紹介】シグナル受信時の動作を設定: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    # シグナル送信

関連リンク