【发布时间】:2012-11-16 01:28:27
【问题描述】:
我的客户端将循环发送包到服务器。客户端程序不捕获 SIGPIPE。 (客户端操作系统是ubuntu server 12.04 LTS)
我做了以下测试:
3 次握手完成后。然后客户端将一些包发送到服务器。 服务器可以正常接收包裹。
然后我突然杀掉服务器进程。
客户端进程已死。但我没有看到任何日志显示“Broken pipe”。
我认为 bash 会报告死因。
为什么 bash 在进程死亡后不打印“Broken pipe”日志?
但我使用 gdb 启动该过程,重复上面的步骤。进程死了,gdb显示以下日志:
“程序收到信号 SIGPIPE,管道损坏。”
【问题讨论】: