linux 同时killall两个进程,导致第三个进程crash。解决思路

linux 同时killall两个进程,导致第三个进程crash。现有三个进程pid1,pid2,pid3,pid3通过socket与pid2通信pi

linux 同时killall两个进程,导致第三个进程crash。
现有三个进程
pid1,pid2,pid3,
pid3通过socket与pid2通信
pid1 同时与pid2,pid3保持连接
现依次killall -9 pid1,pid2
pid3crash。问题必现
问下大家有没有遇到过类似的,解决办法是什么? 



[解决办法]
pid3 有没有忽略SIGPIPE信号?
如果没有忽略,并且连接已经关闭,再次尝试写入时,会导致程序core掉

试试加入一句
signal(SIGPIPE, SIG_IGN);