在为[SIGINT]注册信号处理程序后,进程有一个'fork'调用。通过命令行发送SIGINT时会发生什么?父母是退出还是孩子或两者兼而有之?父母和孩子都在循环中运行无限。
在为[SIGINT]注册信号处理程序后,进程有一个'fork'调用。通过命令行发送SIGINT时会发生什么?父母是退出还是孩子或两者兼而有之?父母和孩子都在循环中运行无限。
如果你这样做 fork
(没有进一步的 exec*
)在注册信号处理程序之后,将在父进程和子进程中使用相同的信号处理程序。也就是说,如果你做的不是 exit
在你的 SIGINT
处理程序,父母和孩子都不会退出(如何 SIGINT
发送与此无关)。
如果你的意思是 SIGINT
从...发送 终奌站 (通过 vintr
通常的角色 Ctrl+C
):它将由使用的进程接收 终奌站 作为控制终端。也就是说,除非你将孩子或父母从控制终端分离,否则他们都会做出反应 Ctrl+C
通过打电话给你 SIGINT
处理程序。
如果你这样做 fork
(没有进一步的 exec*
)在注册信号处理程序之后,将在父进程和子进程中使用相同的信号处理程序。也就是说,如果你做的不是 exit
在你的 SIGINT
处理程序,父母和孩子都不会退出(如何 SIGINT
发送与此无关)。
如果你的意思是 SIGINT
从...发送 终奌站 (通过 vintr
通常的角色 Ctrl+C
):它将由使用的进程接收 终奌站 作为控制终端。也就是说,除非你将孩子或父母从控制终端分离,否则他们都会做出反应 Ctrl+C
通过打电话给你 SIGINT
处理程序。