gpt4 book ai didi

linux - 为什么 trap 对中断 nohup 命令不起作用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:36:54 25 4
gpt4 key购买 nike

这是一个脚本,名字是test.sh

#!/bin/bash
cleanup(){
echo "Caught SIGINT ..."
exit 1

}
trap 'cleanup' 3
while :;do
echo "a"
sleep 3
done

如果我直接在 linux bash 中运行 nohup ./test.sh &,它可以捕获 kill -3 PID 信号,

但如果我在名为 go.sh) 的脚本文件中编写 nohup ./test.sh &,然后运行 ​​go.sh ,然后 test.sh 无法捕获 kill -3 PID 信号

如何编写 go.sh 脚本来确保 test.sh 捕获 -3 信号?

最佳答案

kill -3 (SIGQUIT) 将不起作用。根据 bash 的手册:

When bash is interactive, in the absence of any traps, it ignores SIGTERM (so that kill 0 does not kill an interactive shell), and SIGINT is caught and handled (so that the wait builtin is interruptible). In all cases, bash ignores SIGQUIT. If job control is in effect, bash ignores SIGTTIN, SIGTTOU, and SIGTSTP.

关于linux - 为什么 trap 对中断 nohup 命令不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47920541/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com