signal
by
signal 函数
函数作用:注册信号捕捉函数
函数原型:
typedef void (*sighandler_t)(int)
-
sighandler_t signal(int signum, sighandler_t handler)
函数参数: - signum:信号编号
- handler:信号处理函数
void sigchld_handler(int signum) {
//防止僵尸进程
int status;
pid_t pid;
//使用循环防止一次只能处理一个退出子进程的问题
while ((pid = waitpid(-1, &status, WNOHANG)) > 0)
{
cout << "子进程 " << pid << " 已退出,状态: " << status << endl;
}
}
signal(SIGCHLD, sigchld_handler);