在为[SIGINT]注册信号处理程序之后,进程有一个'fork'调用.通过命令行发送SIGINT时会发生什么?父母是退出还是孩子或两者兼而有之?父母和孩子都在循环中运行无限.
Ant*_*nko 16
如果在注册信号处理程序后fork(不再进一步exec*),将在父进程和子进程中使用相同的信号处理程序.也就是说,如果你exit在SIGINT处理程序之外做了其他事情,那么父母和孩子都不会退出(SIGINT这里发送的方式与此无关).
如果您的意思是SIGINT从终端发送(vintr通常是字符Ctrl+C):它将由使用终端作为控制终端的进程接收.也就是说,除非您将孩子或父母从控制终端分离,否则他们都会Ctrl+C通过致电您的SIGINT处理程序做出反应.