這是我參與8月更文挑戰的第9天,活動詳情查看:8月更文挑戰linux
在服務運行過程當中,咱們經常要查看整個服務器端口和進程佔有的狀況,甚至必要時要中斷進程。今天這篇文章總結一下對咱們頗有幫助的幾個命令。服務器
列出當前系統打開文件的工具,經過lsof工具可以查看應用程序打開文件的描述符列表,能對系統監測以及排錯提供至關大的幫助。markdown
lsof -i :portNumber 列出誰在使用某個端口
複製代碼
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 查看佔用某個端口的進程
複製代碼
ps命令用於報告當前系統的進程狀態。能夠搭配kill指令隨時中斷、刪除沒必要要的程序。很是強大的進程查看命令,使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是能夠經過執行該命令獲得的ssh
ps -ef |grep ssh
複製代碼
常見參數tcp
-a:當處理當前進程時,不限制命令名和進程號的對應關係;
-l <信息編號>:若不加<信息編號>選項,則-l參數會列出所有的信息名稱;
-p:指定kill 命令只打印相關進程的進程號,而不發送任何信號;
-s <信息名稱或編號>:指定要送出的信息;
-u:指定用戶。
複製代碼
kill -l 列出全部信號名稱,只有第9種信號(SIGKILL)才能夠無條件終止進程
kill -9 pid 完全殺死指定進程,init進程不可殺死,其它全部進程都是init進程的子孫
複製代碼