處理異常未知埠 Lsof命令

2022-08-26 00:51:12 字數 2927 閱讀 4924

需要使用的命令:

ss -tnl 顯示所有tcp已被監聽的埠 

lsof -i:埠 顯示所有開啟該埠的程序 工作例項: 

某天通過ss -tnl發現有不認識的正在被監聽的埠 ?

於是使用lsof -i命令檢視該埠都開啟了哪些程序 這裡發現該埠對應的是rpc.statd命令。 

(如果提示沒有該命令記得yum install lsof)

如果大家不認識rpc.statd,乙個很簡單的方法就是google或者baidu 

通過baidu可以知道該命令是nfslock服務的乙個程序,

如果想將該埠關閉只需要關閉nfslock服務即可 service nfslock stop 

再執行ss -tnl發現49994埠消失 

今後若遇到未知的埠可以使用上面的方法進行判斷。

lsof簡介
lsof(list open files)是乙個列出當前系統開啟檔案的工具。

在linux環境下,任何事物都以檔案的形式存在,通過檔案不僅僅可以訪問常規資料,還可以訪問網路連線和硬體。

所以如傳輸控制協議 (tcp) 和使用者資料報協議 (udp) 套接字等,系統在後台都為該應用程式分配了乙個檔案描述符,無論這個檔案的本質如何,該檔案描述符為應用程式與基礎作業系統之間的互動提供了通用介面。因為應用程式開啟檔案的描述符列表提供了大量關於這個應用程式本身的資訊.

因此通過lsof工具能夠檢視這個列表對系統監測以及排錯將是很有幫助的。

lsof使用

lsof輸出資訊含義

在終端下輸入lsof即可顯示系統開啟的檔案,因為 lsof 需要訪問核心記憶體和各種檔案,所以必須以 root 使用者的身份執行它才能夠充分地發揮其功能。

command    pid      user   fd      type     device     size       node      name

init 1 root cwd dir 3,3 1024 2 /

init 1 root rtd dir 3,3 1024 2 /

init 1 root txt reg 3,3 38432 1763452 /sbin/init

每行顯示乙個開啟的檔案,若不指定條件預設將顯示所有程序開啟的所有檔案。lsof輸出各列資訊的意義如下:
command:程序的名稱

pid:程序識別符號

user:程序所有者

fd:檔案描述符,應用程式通過檔案描述符識別該檔案。如cwd、txt等

type:檔案型別,如dir、reg等

device:指定磁碟的名稱

size:檔案的大小

node:索引節點(檔案在磁碟上的標識)

name:開啟檔案的確切名稱

lsof語法格式是:
lsof [options] filename
常用的引數列表:
lsof  filename 顯示開啟指定檔案的所有程序

lsof -a 表示兩個引數都必須滿足時才顯示結果

lsof -c string 顯示command列中包含指定字元的程序所有開啟的檔案

lsof -u username 顯示所屬user程序開啟的檔案

lsof -g gid 顯示歸屬gid的程序情況

lsof +d /dir/ 顯示目錄下被程序開啟的檔案

lsof +d /dir/ 同上,但是會搜尋目錄下的所有目錄,時間相對較長

lsof -d fd 顯示指定檔案描述符的程序

lsof -n 不將ip轉換為hostname,預設是不加上-n引數

lsof -i 用以顯示符合條件的程序情況

lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

46 --> ipv4 or ipv6

protocol --> tcp or udp

hostname --> internet host name

hostaddr --> ipv4位址

service --> /etc/service中的 service name (可以不只乙個)

port --> 埠號 (可以不只乙個)

例如: 檢視22埠現在執行的情況
# lsof -i:22

command pid user fd type device size node name

sshd 1409 root 3u ipv6 5678 tcp *:ssh (listen)

檢視所屬root使用者程序所開啟的檔案型別為txt的檔案:
# lsof -a -u root -d txt

command pid user fd type device size node name

init 1 root txt reg 3,3 38432 1763452 /sbin/init

mingetty 1632 root txt reg 3,3 14366 1763337 /sbin/mingetty

mingetty 1633 root txt reg 3,3 14366 1763337 /sbin/mingetty

struts 異常處理 全域性異常處理

記錄一下全域性異常處理的過程 處理主動丟擲的異常,轉向錯誤提示頁面。1 寫乙個自己的異常,繼承runtimeexception,從父類生成構造方法 package me.yndy.srtp.exception suppresswarnings serial public class errorexc...

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

01 異常 異常處理

注意 1 對定義的變數能初始化的盡量初始化,如果賦的值可能產生誤導,可以採用可空型別 例如 double?dnumres null 3 異常 執行的時候出現的錯誤,或bug 編寫 的預期條件玉實際條件不穩合 異常的機制是為了保證程式可以一直正常執行。丟擲異常 throw new exception ...