檢視套接字,埠等狀態 lsof
lsof, LiSt Opened Files, 列出開啟的檔案, 聽起來很簡單的樣子. 但想*nix中很多其他工具一樣, lsof把這件簡單的事情做到了爐火純青. 因為Unix認為”一切皆檔案”, 那麼”開啟的檔案”就不僅僅是傳統意義上開啟的檔案了, 還可以是網路/Unix域套接字, 匿名/具名管道, 共享庫檔案, 目錄檔案, 裝置檔案等等. 很多場景下, 檢視程序或系統開啟的檔案會給除錯帶來極大的幫助. 下面簡單地介紹lsof常被使用的功能選項.
- lsof : 簡單地執行lsof會列出當前系統中所有被開啟的檔案, 但為了看到完整的資訊, 通常需要具有root許可權;
- lsof -u dutor
- lsof -c tair : 列出名稱以tair開頭的程序開啟的檔案, c for command, 可指定多個;
- lsof -c /^t.*r$/ : 列出名稱以t開頭, r結尾的程序開啟的檔案;
- lsof -p 12315 : 列出程序號為12315的程序開啟的檔案, 可指定多個;
- lsof server.log : 列出開啟server.log檔案的程序, 可指明多個檔案;
- lsof . : 列出開啟當前目錄的程序;
- lsof +D . : 遞迴地列出當前目錄中被開啟的檔案, 當然也可以lsof | grep `pwd`;
- lsof -i
- lsof -i tcp : 列出開啟的tcp套接字;
- lsof -i :5198 : 列出開啟5198埠的程序;
- lsof -i :ssh : 列出開啟22埠的程序;
- lsof -i tcp:5198 : 列出開啟5198號tcp埠的程序;
- lsof -U : 列出開啟Unix域套接字的程序;
- lsof -d 0-2 : 列出在0到2檔案描述符上開啟檔案的程序;
- lsof -d mem : 列出開啟對映檔案的程序;
- lsof -d txt : 列出開啟的可執行檔案.
還有其他一些非常有用的選項, 可以對lsof的行為進行控制.
- lsof -a: 上述功能性選項可以組合使用, 但預設採用OR邏輯列出, -a選項令lsof使用AND邏輯;
- lsof -t: 只列出程序號, 可以藉此得到特定的程序列表, 以方便對這些程序的自動處理, 比如kill `lsof -t -i :5198`會殺死所有開啟5198埠的程序;
- lsof -r [seconds]: -r選項可以讓lsof以一定的時間間隔連續執行, 在監視檔案/程序時會非常實用.
這只是一個實用的不完全選項的羅列, 如果你知道其他非常實用的選項, 還望留言分享之.
相關推薦
檢視套接字,埠等狀態 lsof
lsof, LiSt Opened Files, 列出開啟的檔案, 聽起來很簡單的樣子. 但想*nix中很多其他工具一樣, lsof把這件簡單的事情做到了爐火純青. 因為Unix認為”一切皆檔案”, 那麼”開啟的檔案”就不僅僅是傳統意義上開啟的檔案了, 還可以是網路/Un
套接字 實現埠重用
假如埠被socket使用過,並且利用socket.close()來關閉連線,但此時埠還沒有釋放,要經過一個TIME_WAIT的過程之後才能使用,這是TNN的相當煩銀的,為了實現埠的馬上覆用,可以選擇setsockopt()函式來達到目的。(以下是網上找到的一篇文章的一小段相關例子,試用之後,相當有效果,特此提
浪潮培訓7(Socket套接字,非同步)
一、輸入輸出流 1、用BufferedReader的readLine的時候,以\n\r結束, 2、並且資訊傳送端必須呼叫flush推送資料 3、並且資訊的最後要用識別符號結束,比如,@:end 4、java中套接字是new 完就連結成功了 5、用client.getStream獲得流,用流
嵌入式linux網路程式設計,UNIX域套接字,AF_LOCAL,PF_LOCAL,PF_UNIX,,AF_UNIX,程序間通訊機制
文章目錄 1,UNIX域套接字 2,UNIX域套接字模型 3,UNIX域套接字 --- 示例 3.1,net.h 3.2,client.c 3.3,sever.c 3.4,linklist.h 3.5,link
poll,epoll方法,本地套接字,多工程式設計,父子程序
poll from select import poll 1. 建立poll物件 p = poll() 2. 新增關注的IO poll IO 事件分類 POLLIN POLLOUT POLLERR POLLH
多路複用與多路分解;UDP報文段格式;套接字和埠號
UDP套接字(目的IP地址,目的埠號),若兩個UDP報文段有不同源IP地址和/或源埠號,但有相同目的IP地址和目的埠號,則這兩個報文段將通過相同的套接字被定向到相同的目的程序。TCP套接字(源IP地址,源埠號,目的IP地址,目的埠號),當一個TCP報文段從網路到達一臺主機時,
理解套接字和埠
1 套接字程式設計基礎 套接字,英文為socket,是一種雙向的通訊埠。位於網路中的主機通過連線的套接字提供的介面進行資料傳輸。本節將主要介紹使用套接字進行程式設計的一些基本概念。 1.1 套接字與埠 套接字是一種使用標準UNIX檔案描述符(file descr
原始套接字,接收所有資料的設定方法,及程式碼。
<img src="https://img-blog.csdn.net/20150320091844253?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvU3RheV9EZWVw/font/5a6L5L2T/fontsize
嵌入式Linux網路程式設計,網路基礎,套接字socket(SOCK_STREAM、SOCK_DGRAM、SOCK_RAW),IP地址,埠號,位元組序,位元組序轉換函式,IP地址的轉換
文章目錄 1,socket 1.1,socket的型別(SOCK_STREAM、SOCK_DGRAM、SOCK_RAW) 1.2,socket的位置 2,IP地址 2.1,特殊IP地址: 3,埠號
netstat檢視本機所有的套接字(TCP/UDP),並查詢使用該套接字的程式
netstat -a 顯示未開始通訊,正在通訊的所有套接字 -n 顯示IP地址與埠號 -o 顯示使用該套接字的程式PID PID:程序識別符號,作業系統為了標識程式而使用的編號 使用netstat命令後,如上圖 第一列為所用協議:TCP/UDP 第二列
C#利用 HttpWebRequest 類傳送post請求,出現“套接字(協議/網路地址/埠)只允許使用一次”問題
宣告:問題雖然已經被解決,但是並沒有明白具體原理,歡迎大佬補充。 最近網站出現一個問題,在C#裡面使用 HttpWebRequest 類去傳送post請求,偶爾 會出現 “套接字(協議/網路地址/埠)只允許使用一次” 的異常,很明顯應該是埠被佔用。 原因排查: 1、
根據客戶端套接字獲取客戶機的IP和埠號,其形式為IP:port
char *sock_ntop(const struct sockaddr *sa, socklen_t salen) { char portstr[7]; static char str[128]; switch (sa->sa_family) { ca
Django:Error: [WinError 10013] 以一種訪問許可權不允許的方式做了一個訪問套接字的嘗試。(殺佔用埠程序)
Error: [WinError 10013] 以一種訪問許可權不允許的方式做了一個訪問套接字的嘗試。 1.啟動伺服器的時候提示埠被佔用,Error: [WinError 10013] 以一種訪問許可權不允許的方式做了一個訪問套接字的嘗試。 解決方案 1.查找出被佔用的
socket程式設計 套接字程式設計 (純理論,以後補一下實現程式碼)
基本概念 套接字——應用層和傳輸層之間,提供應用傳輸介面 Web/RPC/中介軟體——應用層之上的網路開發 應用程式設計介面API(application programming interface) 套接字介面(socket interface)簡稱套接字,
Android 解決 通常每個套接字地址(協議/網路地址/埠)只允許使用一次。 (10048)
Android模擬器埠被佔用問題的解決辦法 剛剛在用手機除錯的時候遇到了cannot bind to 127.0.0.1:5037: 通常每個套接字地址(協議/網路地址/埠)只允許使用一次(10048)的 問題,adb始終無法啟動,試了很多方法,好像只有重啟電腦可以。這種錯誤會經常陪伴我
34.非阻塞丶套接字異常處理丶埠掃描
非阻塞及套接字異常處理: 套接字異常捕獲: 套接字建立失敗,8000 socket.error 客戶端連線錯誤:
本機除錯udp提示System.Net.Sockets.SocketException:“通常每個套接字地址(協議/網路地址/埠)只允許使用一次。”
寫程式,在本機用tcp助手除錯,提示: System.Net.Sockets.SocketException:“通常每個套接字地址(協議/網路地址/埠)只允許使用一次。 報錯在這一句: UdpClient udpClient = new UdpClient(7777); 埠也換了幾個不同
網路收發緩衝區,基於udp的通訊,udp套接字應用之廣播
recv()特徵 1. 如果連線端斷開,recv會立即結束阻塞返回空字串 2. 當接收緩衝區為空時會阻塞 3. 如果recv一次接受不完緩衝區內容,下次會繼續接收,確保資料不丟失 send()特性 1.如果另一端不存在還試圖使用send進行傳送則會產生BrokenPipeError異常 2.當傳
我的Windows核心程式設計——完成埠+套接字 圖解
========================宣告============================ 本文原創,轉載請註明作者和出處,並保證文章的完整性(包括本宣告)。 本文不定期修改完善,為保證內容正確,建議移步原文處閱讀。 ==================
解決VMware虛擬機器報錯“無法連線MKS:套接字連線嘗試次數太多,正在放棄”
1.錯誤描述 在VMware中開啟虛擬機器時報錯: “無法連線MKS:套接字連線嘗試次數太多,正在放棄” 物理機作業系統: Windows 7 虛擬機器作業系統: Kali Linux