信号首次传送给所调试的程序时,会发生 sig signal 事件。signal 可以是十进制数或信号名(大小写均可),前缀是可选的。它与 catch 命令和 ignore 命令毫无关系,尽管 catch 命令可按如下方式实现:
function simple_catch { when sig $1 { stop; echo Stopped due to $sigstr $sig whereami } } |
收到 sig 事件时,进程尚未检测到它。只有在使用指定的信号继续执行进程时,信号才会传送给它。