今天,玩cassandra需要用到它自帶的nodetool來檢視集群的情況,執行之後發現出錯,說error connection to remote jmx agent。之前為了圖方便,8080埠被占用,直接把jmx從啟動引數中去掉了。
於是把機器上的jboss、apache給kill掉了。本以為應用可以啟動,可是發現8080依舊被占用著。不知道是被哪個程序給占用了,於是上網搜尋能夠得到是哪個埠占用掉了這個執行緒。最後找到sudo lsof -i:***x,通過這條命令便能夠檢視到占用該埠的程序了。
貼一下網上對lsof的介紹:lsof(list open files)是乙個列出當前系統開啟檔案的工具。在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。所以如傳輸控制協議 (tcp) 和使用者資料報協議 (udp) 套接字等,系統在後台都為該應用程式分配了乙個檔案描述符,無論這個檔案的本質如何,該檔案描述符為應用程式與基礎作業系統之間的互動提供了通用介面。
linux如何檢視埠被哪個程序占用?
1 lsof i 埠號 2 netstat tunlp grep 埠號 都可以檢視指定埠被哪個程序占用的情況 步驟一 lsof i lsof i 用以顯示符合條件的程序情況,lsof list open files 是乙個列出當前系統開啟檔案的工具。以root使用者來執行lsof i命令,如下圖 步...
linux如何檢視埠被哪個程序占用?
1 lsof i 埠號 2 netstat tunlp grep 埠號 都可以檢視指定埠被哪個程序占用的情況 首先進入控制台 步驟一 lsof i lsof i 用以顯示符合條件的程序情況,lsof list open files 是乙個列出當前系統開啟檔案的工具。以root使用者來執行lsof i...
linux如何檢視埠被哪個程序占用?
1 lsof i 埠號 2 netstat tunlp grep 埠號 都可以檢視指定埠被哪個程序占用的情況 步驟一 lsof i lsof i 用以顯示符合條件的程序情況,lsof list open files 是乙個列出當前系統開啟檔案的工具。以root使用者來執行lsof i命令,如下圖 步...