一、查看端口占用的進程
1. lsof -i:端口號, 查看某一端口的占用情況 [root@localhost bin]# lsof -i:8080 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME java 3511 root 46u IPv6 31351 0t0 TCP *:webcache (LISTEN) COMMAND:進行成名,如上說明8080被一個java進程占用 PID:進程的ID,一般殺掉進程時就是指定進程的PID USER:進程所有者
2.netstat -ntlp:查看當前所有tcp端口
結合grep可以進一步查看具體端口號的占用情況 netstatstat -tunlp|grep 端口號,查看端口占用情況 -t , 顯示tcp的相關選項 -u, 顯示udp的相關選項 -n, 拒絕顯示別名,能顯示數字的全部轉化為數字 -l, 僅列出在Listen(監聽)的服務狀態 -p, 顯示建立相關鏈接的程序名 [root@localhost bin]# netstat -tunlp|grep 8080 tcp6 0 0 :::8080 :::* LISTEN 3511/java 上述結果表示8080端口被一個進程ID為3511的Java進程占用 [root@ops01 ~]# netstat -tunlp|grep 3000 tcp6 0 0 :::3000 :::* LISTEN 13298/node /u01/WSS 上述結果表示3000端口被一個進程ID為13298的node程序占用
二、根據程序名稱查詢進程ID
1. ps -ef|grep 進程名 ps -ef 是顯示所有進程
UID:進程擁有者
PID:進程ID
PPID:上級父程序的ID
C: CPU 使用的資源百分比
STIME: 系統啟動時間
TTY:登入者的終端機位置
TIME:使用掉的 CPU 時間
CMD:所下達的指令名稱
例如查詢nginx相關進程狀態 [root@ops01 ~]# ps -ef|grep nginx