2016-09-13 78 views
0

腳本:無法陷阱SIGQUIT信號的Unix

echo $$ 
trap "echo \"hai\"" 3 
while [ 1 ] 
do 
     ls >/dev/null 
done 

我的要求是套住SIGQUIT信號。所以我執行上面的腳本並按(CTRL + D)。但它沒有捕獲信號,並且它沒有打印「海」。但是如果信號是通過'kill -3'發送的話,它的工作是正常的。那麼,爲什麼CTRL + D不起作用?

回答

0

我相信SIGQUIT是Ctrl \
按Ctrl d是EOF

+0

但這個頁面'的https:// www.tutorialspoint.com/UNIX/UNIX的信號,traps.htm'有somemore不同。在這裏他們指定CTRL + D產生SIGQUIT信號。 – mrg

+0

然後他們很困惑。你可以用'stty -a'檢查你自己。 – tripleee

+0

我討厭成爲壞消息的持有者,但是您是否嘗試過使用Ctrl \'your'代碼?你的代碼有效! :) –