当程序写一个管道或socket时,如果对端连接已经关闭,写操作将返回一个SIGPIPE信号。
SIGPIPE信号默认情况下将关闭进程,用户可以通过设置SIGPIPE信号处理函数来防止进程被关闭。
if(signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
printf("Failed to ignore SIGPIPE signals");
}
当程序写一个管道或socket时,如果对端连接已经关闭,写操作将返回一个SIGPIPE信号。
SIGPIPE信号默认情况下将关闭进程,用户可以通过设置SIGPIPE信号处理函数来防止进程被关闭。
if(signal(SIGPIPE, SIG_IGN) == SIG_ERR) {
printf("Failed to ignore SIGPIPE signals");
}