0
echo $$
trap "echo \"hai\"" 3
while [ 1 ]
do
ls >/dev/null
done
我的要求是套住SIGQUIT信號。所以我執行上面的腳本並按(CTRL + D)。但它沒有捕獲信號,並且它沒有打印「海」。但是如果信號是通過'kill -3'發送的話,它的工作是正常的。那麼,爲什麼CTRL + D不起作用?
echo $$
trap "echo \"hai\"" 3
while [ 1 ]
do
ls >/dev/null
done
我的要求是套住SIGQUIT信號。所以我執行上面的腳本並按(CTRL + D)。但它沒有捕獲信號,並且它沒有打印「海」。但是如果信號是通過'kill -3'發送的話,它的工作是正常的。那麼,爲什麼CTRL + D不起作用?
我相信SIGQUIT是Ctrl \
按Ctrl d是EOF
但這個頁面'的https:// www.tutorialspoint.com/UNIX/UNIX的信號,traps.htm'有somemore不同。在這裏他們指定CTRL + D產生SIGQUIT信號。 – mrg
然後他們很困惑。你可以用'stty -a'檢查你自己。 – tripleee
我討厭成爲壞消息的持有者,但是您是否嘗試過使用Ctrl \'your'代碼?你的代碼有效! :) –