信号是什么(SIGPIPE,SIG_IGN);做?

时间:2015-06-12 09:06:45

标签: c unix signals

我知道SIGPIPESIGIGN的个人用途。

什么是

signal(SIGPIPE, SIG_IGN);

到底做了什么?

1 个答案:

答案 0 :(得分:8)

signal(SIGPIPE, SIG_IGN);

只是忽略信号SIGPIPE。将SIG_IGN作为处理程序传递会忽略给定的信号(除了无法捕获或忽略的信号SIGKILLSIGSTOP)。

顺便说一下,通常建议使用sigaction(2)而不是signal(2),因为sigaction可以提供更好的控制,也不需要在某些系统上“重置”处理程序System V信号行为)。