在为[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 处理程序。