【问题标题】:Unable to trap SIGQUIT signal in Unix [duplicate]无法在 Unix 中捕获 SIGQUIT 信号 [重复]
【发布时间】:2016-09-13 09:37:51
【问题描述】:

脚本:

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

我的要求是捕获 SIGQUIT 信号。所以我执行上面的脚本并按(CTRL + D)。但它不会捕获信号并且 它没有打印“hai”。但是如果信号是通过'kill -3'发送的,它就可以正常工作。那么,为什么 CTRL+D 不起作用?

【问题讨论】:

    标签: linux bash shell unix signals


    【解决方案1】:

    我相信 SIGQUIT 是 Ctrl \
    Ctrl D 是EOF

    【讨论】:

    • 但是这个页面https://www.tutorialspoint.com/unix/unix-signals-traps.htm有一些不同。在这里他们指定 CTRL+D 产生 SIGQUIT 信号。
    • 然后他们就糊涂了。您可以通过stty -a自行检查。
    • 我不想成为坏消息的承担者,但您是否尝试使用 Ctrl \ 和 your 代码?您的代码有效! :)
    猜你喜欢
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-25
    • 1970-01-01
    相关资源
    最近更新 更多