2014-02-12 32 views
0

我在Linux/FreeBSD上有一個正在運行的進程。我跟蹤了它,發現其中一個線程在函數write()的調用中被阻塞 - 作爲它有一個TCP套接字的參數。它可能會掛幾個小時。如何檢查在Linux/FreeBSD上被阻塞的調用write()的問題?

有什麼方法來檢查被阻止的write()背後的原因?潛在的問題是什麼?

P.S.系統實用程序,讚賞。

+0

您的服務器是stuft?那還是協議問題。 –

+0

@MartinJames什麼是「stuft」?在使用原始tcp時,我可以體驗哪些類型的問題? –

回答

0

在我目前的情況下,有以下問題。 DNS解析給了我一些IP地址,這遠遠不夠,甚至無法訪問。 write()掛起,因爲沒有收到該主機的TCP響應。

該問題通過設置發送操作超時通過setsockoptSO_SNDTIMEO解決。