我收到「bind:Address already in use」錯誤。有什麼方法可以找到哪個套接字被綁定?當我找到它時,我該如何解除鏈接?如何查找和取消綁定套接字
回答
套接字綁定到一個進程。你只需要使用發現進程ID:
netstat -nap
-p標誌將包括進程ID ,但你必須要根
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 11152/lighttpd
在這個例子中港8080被分配給lighttpd,進程號爲11152
列出打開文件的命令流程(lsof的)會給類似的信息
一旦你找到進程ID,你可以簡單地通過發出殺死它:
kill [pid]
這不意味着我需要知道端口號嗎?我確定我問的太多了,但有什麼方法可以在「bind:Address already in use」時找到綁定哪個端口的方法? –
當你運行一個進程時,你得到「Address Already in use」是因爲那個進程試圖綁定一個特定的端口。 例如,Web服務器默認嘗試綁定端口80(除非您通過編輯配置文件來修改該端口) 給我更多關於您正在運行的進程的詳細信息(您是在編碼什麼?),我可以幫助你瞭解哪個端口可能試圖綁定() – Sainti
如果你通過strace運行一個程序,你會看到該進程所做的每個系統調用,包括bind()系統調用。 例如:'strace。/ myprogram'你會得到一個巨大的輸出,類似於: bind(3,{sa_family = AF_INET,sin_port = htons(8080),sin_addr = inet_addr(「0.0.0.0」)},16 )= 0' – Sainti
- 1. 如何在C#中取消綁定套接字?
- 2. jquerymobile如何綁定和取消綁定鏈接?
- 3. Python的套接字綁定0.0.0.0,檢查傳入消息
- 4. 綁定IPv4和IPv6套接字失敗
- 5. Linux:套接字和綁定問題
- 6. 套接字超時和取消
- 7. 綁定vs SO_BINDTODEVICE套接字
- 8. 綁定發送套接字
- 9. 綁定套接字Android
- 10. 套接字綁定錯誤
- 11. 什麼是套接字綁定以及如何綁定地址?
- 12. 如何取消綁定ObjectDataSource?
- 13. 如何將原始套接字綁定到特定接口
- 14. 如何將套接字綁定到vxWorks中的特定接口
- 15. 如何確定Linux套接字在C++中綁定的接口
- 16. 綁定和取消綁定活動
- 17. Python套接字綁定到任何IP?
- 18. C#查找套接字ID?
- 19. 如何綁定和取消綁定第三方jQuery庫函數?
- 20. 角2,如何動態綁定和取消綁定mousemove事件
- 21. 如何綁定和取消綁定上下文$文件
- 22. 如何取消綁定和重新綁定()點擊動畫?
- 23. 在接收端查找套接字消息的延遲時間
- 24. Sandboxd在綁定套接字時拒絕網絡綁定錯誤消息
- 25. 紅寶石套接字查找發送和接收消息的時間
- 26. 如何綁定/連接多個UDP套接字
- 27. 如何將套接字綁定到虛擬接口?
- 28. 如何將套接字綁定到多個接口
- 29. 如何將套接字綁定到python的接口(socket.SO_BINDTODEVICE丟失)
- 30. PHP web套接字無法綁定套接字
你需要殺死它創建的套接字的過程中,可能所有的兒童進程。使用'netstat -apn | grep $ portnumber'來找到它們。 –