1. 程式人生 > >檔案下載導致的 Broken pipe

檔案下載導致的 Broken pipe

先把異常貼出來:


看到這個我確實蒙了,我表示確實第一次遇到.....

網上看了一下別人的帖子:在socket互動過程中,建立連線後,如果client端意外中斷,而此時恰好server端處於socket write過程時,會向主程式傳送SIGPIPE訊號,此時如果主程式不做特殊處理,系統預設的處理方式為退出程序。對於產生訊號,我們可以在產生訊號前利用方法 signal(int signum, sighandler_t handler) 設定訊號的處理。

然後我一下子找到原因,下載的檔案有點大,apache連線超時了,所以果斷增加超時時間,ok,問題搞定。