查找进程
一.lsof(查看指定进程文件)
lsof -i :8080
-
-i:要查找的端口号
示例输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 26028 www 6u IPv4 33086113 0t0 TCP *:webcache (LISTEN)
二.netstat(显示网络状态)
netstat -anp|grep 8080
- -a:显示所有连接(包括监听和非监听的)
- -n:以数字形式显示地址和端口(不解析主机名和服务名)
- -p:显示进程ID和程序名称
- -grep:要查找的端口号
~tip:netstat -anp与netstat -ano区别(linux)
-
**-p:**显示进程ID和程序名称(通常需要root权限)
-
-o:显示与网络连接相关的计时器信息(如重传超时等)
示例:
netstat -anp|grep 8080
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 26028/pythonnetstat -ano|grep 8080 #windows下-o为查看进程ID和程序名称
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN off (0.00/0/0)
三.ss(类似netstat,更加高效)
ss -ltnp|grep 8080
-
-l:只监听(LISTEN)状态的套接字
-
-t:只显示TCP套接字
-
-n:以数字形式显示地址和端口(不进行DNS反向解析)
-
-p:显示使用套接字的进程信息
输出示例:
LISTEN 0 128 *:8080 : users:(("python",pid=26028,fd=6))
四.ps(显示当前进程状态)
ps -ef|grep server.py
-
-e:显示系统中所有进程
-
-f:以完整格式(full-format)显示进程信息,包括更多字段
示例输出:
www 26028 1 0 Nov17 ? 00:00:33 python ./server.py
五.pgrep(默认匹配进程名)
pgrep -l python
-
-l:列出匹配进程的pid和进程名称
示例
22565 python3
25597 python3
26028 python
六.pidof
pidof python
26028
杀死进程
一.kill(终止进程)
kill [PID]
kill -9 [PID]
kill -KILL [PID]
- -9/-KILL:强制杀死进程
二.pkill(按进程名终止)
pkill process_name
pkill -9 process_name #强制终止
三.killall(终止所有同名进程)
killall process_name
四.top/htop(交互进程管理)
top
(按k,然后输入PID,回车)
(杀死进程事大,请大家先看好进程是否能杀,我自己就是乱杀进程把服务器搞崩了T^T)