나는 다음 트랩 스크립트를 가지고 있지만 그것에 대한 아이디어는 나에게 약간 모호합니다.
#!/bin/bash
for i in {1..64}; do
trap "echo 'signal[$$] Caught signal SIG$(kill -l "$i")($i)'" "$i";
done;
read -s -n1;
답변1
스크립트는 수신한 신호를 인쇄하는 것 외에는 아무 작업도 하지 않습니다.
kill -l "$i"
신호 번호를 이름으로 바꿉니다.
이 스크립트를 다음으로 변경하겠습니다.
#!/bin/bash
echo "My PID is $$"
echo "Send SIGNALS with this command:"
echo " kill -SIG $$"
echo "SIG may be either a signal name or number, see kill -l"
for i in {1..64}; do
trap "echo 'signal[$$] Caught signal SIG$(kill -l "$i")($i)'" "$i";
done;
read -s -n1;