这并不意味着在子subshell中不能使用trap命令来设置新的陷阱。如果脚本捕获信号A,则它的子subshell也会捕获信号A,但使用默认操作。子subshell还可以指定另一个动作来捕获相同的信号。outerscript.shtrap "SIGINT in inner, do graceful shutdown" SIGINTecho done inner process
然
我正在尝试编写一个程序,它将设置一个警报10秒,阻塞10秒后的SIGINT,设置另一个警报10秒,解锁并忽略SIGINT之后,设置另一个警报10秒然后终止。我希望我可以在SIGALRM的sa_handler中完成所有的操作,但它并没有像我希望的那样工作。有可能做到这一点吗?编辑:在SIGALRM的sa处理程序中,我无法将SIGINT设置为blocked。#include <stdio.h>#include <unistd.h>
i