server 进程退出码是 141 ,而且没有触发 coredump 。
已经在 server 的每一个读写客户端连接 fd 的地方都加上了判断返回值的代码,如果小于 0 就不再使用这个 fd ,结果还是一样会异常退出,退出码一样是 141 。
server 使用的是多线程加阻塞式 io ,如果只有一个 client 进程在连接 server ,这个 client 被突然 kill 掉不会导致 server 退出,但在多个 client 同时在连接 server 的情况下,多个 client 同时被 kill 掉就会。
1
qemu32 OP https://stackoverflow.com/questions/1790750/what-is-the-difference-between-read-and-recv-and-between-send-and-write
可能我把 read/write 换成 recv/send 并且忽略 SIGPIPE 就行了 |
2
qemu32 OP |