any(catchable)に対して関数を呼び出すことを指定bash
するスクリプトがあります。trap
signal
typeset -i sig=1
while (( sig < 65 )); do
trap myfunc $sig
let sig=sig+1
done
signal
どちらがキャプチャされたかを確認する方法は私のスクリプトにありますか?
答え1
trap "signum=${sig};myfunc" "$sig"
答え2
キャプチャされた信号値を実行したい操作に渡したいとします。次のようにしてみてください。
# 1 SIGHUP
# 2 SIGINT
# 3 SIGQUIT
# 6 SIGABRT
# 9 SIGKILL
# 14 SIGALRM
# 15 SIGTERM
for sig in 1 2 3 6 9 14 15; do
trap 'echo "caught signal '$sig'..."' $sig
done