史蒂夫
我已经读到,当您按Ctrl+时C,SIGINT
信号将发送到前台进程组。
您能举一个例子说明我如何在前台进程组中拥有两个或多个进程,因为我想知道如果按Ctrl+键是否所有进程都会终止C。
弃
由于新进程都属于父进程的同一个进程组,因此有一个进程启动一堆进程(fork
),然后在适当的日志记录和延迟下键入Ctrl+ C。他们都吃了SIGINT
。
$ perl -E 'fork for 1..2;say "ima $$"; $SIG{INT}=sub{die "woe $$\n"}; sleep 999'
ima 80920
ima 80922
ima 80921
ima 80923
^Cwoe 80920
woe 80922
woe 80921
woe 80923
$
(添加strace
或sysdig
以此类推,以查看所涉及的系统调用或信号。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句