MacBook/MacOS/Mac OS 查看进程/端口信息的相关命令
文章目錄
- 使用命令 lsof 查看某個端口的使用情況
- 使用命令 netstat 查看某個端口的使用情況
- 使用命令 ps 查看指定進(jìn)程的信息
- (一)命令:ps auwx | grep sshd
- (二)命令:ps -ef | grep ssh
- (三)命令:ps -Al | grep ssh
- 使用命令 top 實時顯示進(jìn)程狀態(tài)
- 使用命令 kill 殺掉進(jìn)程
- 啟動/停止/重啟進(jìn)程
使用命令 lsof 查看某個端口的使用情況
[~]$ sudo lsof -P -i tcp:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 3933 liaowenxiong 50u IPv6 0x72b25e6efd433f4b 0t0 TCP *:8080 (LISTEN)[~]$ sudo lsof -P -i:8080 # COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 3933 liaowenxiong 50u IPv6 0x72b25e6efd433f4b 0t0 TCP *:8080 (LISTEN)選項說明:
sudo 表示以 root 的權(quán)限執(zhí)行
-i 表示列出符合條件的且與網(wǎng)絡(luò)相關(guān)的進(jìn)程
-P 表示不解析端口號,直接顯示端口號,而不是顯示端口名稱
字段說明:
| COMMAND | 使用端口的進(jìn)程的名稱,默認(rèn)以 9 個字符長度顯示的命令名稱。可使用 +c 參數(shù)指定顯示的寬度,若 +c 后跟的參數(shù)為零,則顯示命令的全名。這個 +c 參數(shù)好像無效 |
| PID | 進(jìn)程標(biāo)識符 |
| PPID | 父進(jìn)程標(biāo)識符,父進(jìn)程的IP號,默認(rèn)不顯示,當(dāng)使用 -R 參數(shù)可打開。 |
| USER | 進(jìn)程所有者,命令的執(zhí)行 UID 或系統(tǒng)中登陸的用戶名稱。默認(rèn)顯示為用戶名,當(dāng)使用 -l 參數(shù)時,可顯示 UID。 |
| PGID | 進(jìn)程所屬組標(biāo)識符,進(jìn)程組的ID 編號,默認(rèn)也不會顯示,當(dāng)使用 -g 參數(shù)時可打開。 |
| FD | File Descriptor Number,文件描述符,應(yīng)用程序通過文件描述符識別文件,例如:cwd、txt 等 |
| TYPE | 文件類型,例如: DIR、REG 等 |
| DEVICE | 指定磁盤的名稱,以逗號分隔設(shè)備編號,使用character special、block special表示的設(shè)備號 |
| SIZE | 文件的大小,如果不能用大小表示的,會留空。使用-s參數(shù)控制。 |
| NODE | 索引節(jié)點(文件在磁盤上的標(biāo)識),本地文件的node碼,或者協(xié)議,如TCP等 |
| NAME | 打開文件的確切名稱,掛載點和文件的全路徑(鏈接會被解析為實際路徑),或者連接雙方的地址和端口、狀態(tài)等 |
| LISTEN | 代表該進(jìn)程正處于監(jiān)聽狀態(tài),即該進(jìn)程處于活躍中 |
關(guān)于命令 lsof 的用法說明,請點擊查看文章《Linux 命令之 lsof – 列出當(dāng)前系統(tǒng)已打開的文件列表》
使用命令 netstat 查看某個端口的使用情況
[~]$ netstat -nat | grep 8080 Proto Recv-Q Send-Q Local Address Foreign Address State tcp46 0 0 *.8080 *.* LISTEN [~]$ netstat -anp tcp | grep 8080 tcp46 0 0 *.8080 *.* LISTEN [~]$ netstat -AaLlnW Current listen queue sizes (qlen/incqlen/maxqlen) Socket Flowhash Listen Local Address 72b25e6ee785488b 0 0/0/128 *.56530 72b25e6ef1269023 0 0/0/128 *.56530 72b25e6ee7852d0b 0 0/0/1 127.0.0.1.8005 72b25e6efd433f4b 0 0/0/100 *.8080選項說明:
-a 顯示所有連線中的 Socket 的狀態(tài)
-n 直接使用 ip 地址,而不通過域名服務(wù)器
-t 顯示 TCP 傳輸協(xié)議的連線狀況
-p 顯示正在使用 Socket 的程序識別碼和程序名稱
-A 默認(rèn)顯示時,顯示與套接字關(guān)聯(lián)的任何協(xié)議控制塊的地址和流散列;用于調(diào)試。
-L 顯示各種偵聽隊列的大小。第一個計數(shù)顯示不可接受的連接數(shù)。第二個計數(shù)顯示不可接受的不完整連接的數(shù)量。第三個計數(shù)是排隊連接的最大數(shù)量。
-l 打印完整的IPv6地址。
-n 將網(wǎng)絡(luò)地址顯示為數(shù)字(通常netstat解釋地址并嘗試以符號方式顯示它們)。此選項可用于任何顯示格式。
-W 在某些顯示中,避免截斷地址,即使這會導(dǎo)致某些字段溢出。
列說明:
Proto 連接使用的協(xié)議
Recv-Q 和 Send-Q 指接收隊列和發(fā)送隊列,這些數(shù)字一般都應(yīng)該是 0。如果不是則表示軟件包正在隊列中堆積。這種情況只能在非常少的情況見到。
Local Address 本地機(jī)器名和本地打開并用于連接的端口
Foreign Address 遠(yuǎn)程機(jī)器名和端口
State 顯示套接口當(dāng)前的狀態(tài)。
| LISTEN | 偵聽來自遠(yuǎn)方的TCP端口的連接請求 |
| SYN-SENT | 再發(fā)送連接請求后等待匹配的連接請求(如果有大量這樣的狀態(tài)包,檢查是否中招了) |
| SYN-RECEIVED | 再收到和發(fā)送一個連接請求后等待對方對連接請求的確認(rèn)(如有大量此狀態(tài),估計被flood攻擊了) |
| ESTABLISHED | 代表一個打開的連接 |
| FIN-WAIT-1 | 等待遠(yuǎn)程TCP連接中斷請求,或先前的連接中斷請求的確認(rèn) |
| FIN-WAIT-2 | 從遠(yuǎn)程TCP等待連接中斷請求 |
| CLOSE-WAIT | 等待從本地用戶發(fā)來的連接中斷請求 |
| CLOSING | 等待遠(yuǎn)程TCP對連接中斷的確認(rèn) |
| LAST-ACK | 等待原來的發(fā)向遠(yuǎn)程TCP的連接中斷請求的確認(rèn)(不是什么好東西,此項出現(xiàn),檢查是否被攻擊) |
| TIME-WAIT | 等待足夠的時間以確保遠(yuǎn)程TCP接收到連接中斷請求的確認(rèn) |
| CLOSED | 沒有任何連接狀態(tài) |
使用命令 ps 查看指定進(jìn)程的信息
(一)命令:ps auwx | grep sshd
查看 sshd 相關(guān)的進(jìn)程:
liaowenongdeair:etc root# ps auwx|grep sshd root 1987 1.0 0.0 4285816 724 s000 S+ 2:37下午 0:00.00 grep sshdliaowenongdeair:etc root# ps auwx|grep ssh root 2158 0.0 0.0 4259000 228 s000 R+ 3:30下午 0:00.00 grep ssh root 1982 0.0 0.0 4280264 192 ?? Ss 2:35下午 0:00.00 ssh-agent liaowenxiong 934 0.0 0.0 4289736 1336 ?? S 8:49上午 0:00.04 /usr/bin/ssh-agent -l從結(jié)果來看,根本查找不到 sshd 進(jìn)程。
命令說明:
結(jié)果說明:
第 1 列:進(jìn)程所屬用戶,列名:USER,-- root
第 2 列:進(jìn)程號,列名:PID,-- 1987
第 3 列:使用掉的 CPU 資源百分比,列名:%CPU,-- 1.0
第 4 列:所占用的物理內(nèi)存百分比,列名:%MEM,-- 0.0
第 5 列:使用掉的虛擬內(nèi)存量,列名:VSZ,-- 4285816
第 6 列:固定占用的內(nèi)存量,列名:RSS,-- 724
第 7 列:登陸者的終端機(jī)位置,列名:TTY,-- s000
第 8 列:進(jìn)程目前的狀態(tài),列名:STAT,-- S+,后面的加號 + 說明進(jìn)程是“在前臺進(jìn)程組”,也就是進(jìn)程可以使用鍵盤輸出
第 9 列:進(jìn)程被觸發(fā)啟動的時間,列名:START,-- 2:37下午
第 10 列:進(jìn)程實際使用 CPU 運作的時間,列名:TIME,-- 0:00.00
第 11 列:該進(jìn)程實際的命令,列名:COMMAND,-- grep sshd
(二)命令:ps -ef | grep ssh
查看 ssh 相關(guān)的進(jìn)程:
liaowenongdeair:etc root# ps -ef|grep ssh501 934 1 0 8:49上午 ?? 0:00.04 /usr/bin/ssh-agent -l0 1982 1 0 2:35下午 ?? 0:00.00 ssh-agent命令說明:
結(jié)果說明:
第 1 列:進(jìn)程所屬用戶的 ID,列名:UID
第 2 列:進(jìn)程 ID,列名:PID
第 3 列:父進(jìn)程的 ID,列名:PPID
第 4 列:CPU 資源使用百分比,列名:C
第 5 列:進(jìn)程被觸發(fā)啟動的時間,列名:STIME
第 6 列:啟動進(jìn)程的終端機(jī)位置,列名:TTY,? 表示與終端機(jī)無關(guān)
第 7 列:實際使用 CPU 運作的時間,單位秒,列明:TIME
第 8 列:進(jìn)程的命令,列名:COMMAND
(三)命令:ps -Al | grep ssh
查看與 ssh 相關(guān)的進(jìn)程的詳細(xì)信息:
liaowenongdeair:bin root# ps -Al | grep ssh501 934 1 4144 0 20 0 4289736 948 - S 0 ?? 0:00.04 /usr/bin/ssh-agent -l0 1982 1 44 0 31 0 4280264 160 - Ss 0 ?? 0:00.00 ssh-agent0 15372 1638 4006 0 31 0 4268408 684 - S+ 0 ttys000 0:00.00 grep ssh501 9961 6327 4006 0 31 0 4298388 1904 - S+ 0 ttys001 0:02.80 ssh root@47.114.59.224說明:
預(yù)知更多關(guān)于命令 ps 的使用介紹,請點擊查看文章《Linux 命令之 ps – 顯示進(jìn)程狀態(tài)》
疑問:在 MacOS 下使用命令 ps,根本無法得知進(jìn)程是否啟動,因為看不到相關(guān)進(jìn)程的信息。奇怪!!!
使用命令 top 實時顯示進(jìn)程狀態(tài)
使用命令 top 可以查看所有進(jìn)程的實時狀態(tài),關(guān)于命令 top 的用法說明,請點擊查看文章《Linux 命令之 top 命令-實時顯示進(jìn)程動態(tài)》
關(guān)于排序:
先輸入 o,然后輸入 cpu 則按 cpu 使用量排序,輸入 rsize 則按內(nèi)存使用量排序。
使用命令 kill 殺掉進(jìn)程
liaowenxiongdeMacBook-Air:~ liaowenxiong$ sudo kill -9 PID說明:-9 表示強(qiáng)制殺掉進(jìn)程
關(guān)于命令 kill 的用法說明,請點擊查看文章《Linux 命令之 kill – 殺死進(jìn)程》
啟動/停止/重啟進(jìn)程
請查看文章《MacOS 關(guān)于啟動/停止/重啟進(jìn)程的命令》
總結(jié)
以上是生活随笔為你收集整理的MacBook/MacOS/Mac OS 查看进程/端口信息的相关命令的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 曝华为发布会定在9月19日 有Mate6
- 下一篇: Linux 命令之 cat -- 在终端