我的客户端将循环发送包到服务器。客户端程序不捕获 SIGPIPE。(客户端操作系统是 ubuntu 服务器 12.04 LTS)
我做以下测试:
3次握手结束后。然后客户端将一些包发送到服务器。服务器可以正常接收包裹。
然后我突然杀死了服务器进程。
客户端进程已死。但我没有看到任何日志显示“断管”。
我认为 bash 会报告死因。
为什么 bash 在 process dead 后不打印“Broken pipe”日志?
但是我使用 gdb 开始该过程,重复上面的步骤。进程已死,gdb 显示以下日志:
“程序收到信号 SIGPIPE,管道损坏。”