運維 | 查看端口/進程佔用狀況,終止進程

這是我參與8月更文挑戰的第9天,活動詳情查看:8月更文挑戰linux

在服務運行過程當中,咱們經常要查看整個服務器端口和進程佔有的狀況,甚至必要時要中斷進程。今天這篇文章總結一下對咱們頗有幫助的幾個命令。服務器

1、lsof(list open files)

列出當前系統打開文件的工具,經過lsof工具可以查看應用程序打開文件的描述符列表,能對系統監測以及排錯提供至關大的幫助。markdown

lsof -i :portNumber   列出誰在使用某個端口
複製代碼

2、netstat

netstate 命令用於顯示各類網絡相關信息,如網絡鏈接,路由表,接口狀態 (Interface Statistics),masquerade 鏈接,多播成員 (Multicast Memberships) 等等。網絡

常見參數app

參數 說明
-a (all) 顯示全部選項,默認不顯示LISTEN相關
-t (tcp) 僅顯示tcp相關選項
-u (udp) 僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的所有轉化成數字
-l 拒絕顯示別名,能顯示數字的所有轉化成數字
-p 顯示創建相關連接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令
netstat -anp |grep portNumber 查看佔用某個端口的進程
複製代碼

3、ps

ps命令用於報告當前系統的進程狀態。能夠搭配kill指令隨時中斷、刪除沒必要要的程序。很是強大的進程查看命令,使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是能夠經過執行該命令獲得的ssh

ps -ef |grep ssh
複製代碼

4、kill

常見參數tcp

-a:當處理當前進程時,不限制命令名和進程號的對應關係;
-l <信息編號>:若不加<信息編號>選項,則-l參數會列出所有的信息名稱;
-p:指定kill 命令只打印相關進程的進程號,而不發送任何信號;
-s <信息名稱或編號>:指定要送出的信息;
-u:指定用戶。
複製代碼
kill -l 列出全部信號名稱,只有第9種信號(SIGKILL)才能夠無條件終止進程
kill -9 pid 完全殺死指定進程,init進程不可殺死,其它全部進程都是init進程的子孫
複製代碼
相關文章
相關標籤/搜索