ps (process status) 命令用于显示当前进程的状态,类似于 windows 的任务管理器
查找指定进程
1 | $ ps -ef | grep key |
key 运行进程的关键字 (如:ps -ef | grep tomcat)
UID 启动进程的用户名
PID 进程pid
PPID
C
STIME 开始启动时间
TTY 终端号
TIME 运行时间
CMD 启动进程的命令
-o 格式输出
1 | ❯ ps -eo pid,lstart,etime,user,cmd | grep mysql |
查找进程使用情况
1 | ps -aux | grep Typora |
- USER: 行程拥有者
- PID: pid
- %CPU: 占用的 CPU 使用率
- %MEM: 占用的记忆体使用率
- VSZ: 占用的虚拟记忆体大小
- RSS: 占用的记忆体大小
- TTY: 终端的次要装置号码 (minor device number of tty)
- STAT: 该行程的状态:
- D: 无法中断的休眠状态 (通常 IO 的进程)
- R: 正在执行中
- S: 静止状态
- T: 暂停执行
- Z: 不存在但暂时无法消除
- W: 没有足够的记忆体分页可分配
- <: 高优先序的行程
- N: 低优先序的行程
- L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
- START: 行程开始时间
- TIME: 执行的时间
- COMMAND:所执行的指令
内存
1 | $ ps -aux | sort -k4nr | head -3 |
a all所有
u userid,该进程用户id
x 所有程序,不已终端区分
sort 排序
k 代表从第几列开始
4n 4列(%MEM)开始
r 反向(reverse) ,默认从小到大
head 头几列(-3 ,显示前3列)
1 | ❯ ps -eo pid,cmd,%mem,rss,vsize | grep chrome |
进程的PID、cmd、内存使用百分比、RSS和VSIZE。
1 | ❯ ps -eo pid,cmd,%mem,rss,vsize | grep chrome | awk '{sum+=$3} END {print sum}' |
cpu
1 | $ ps -aux | sort -k3nr | head -3 |
lsof
查看端口占用
1 | ❯ sudo lsof -i:80 |
netstat
查看所有端口和PID号
1 | ❯ sudo netstat -tanlp | grep -I 2160 |
-a或–all:显示所有连线中的Socket;
-t或–tcp:显示TCP传输协议的连线状况;
-u或–udp:显示UDP传输协议的连线状况;-n : 拒绝显示别名,能显示数字的全部转化为数字
-l或–listening:显示监控中的服务器的Socket;
-p或–programs:显示正在使用Socket的程序识别码和程序名称;
pv (Pipe Viewer)
显示数据处理的进度条
download https://www.ivarch.com/programs/pv.shtml
1 | ❯ ./configure --prefix=/opt/tools/pv |
复制文件会有进度
pv ~/Downloads/CentOS-7-x86_64-Minimal-1511.iso > ~/Desktop/CentOS-7-x86_64-Minimal-1511.iso
压缩文件展示进度信息
pv /media/himanshu/1AC2-A8E3/fnf.mkv | gzip > ./Desktop/fnf.log.gz
-d, –watchfd PID[:FD] 监视进程PID,打开的文件FD
pv
-d $(ps -ef | grep -v grep | grep “<脚本或命令的关键字>” | awk ‘{print $2}’) && <这里执行发通知脚本或者命令,脚本或命令需要提前调试好>
❯ echo "现在开始使用pv(Pipe Viewer),把字符一个个匀速在命令行中显示出来" | pv -qL 10
mysql导入数据
``❯ pv /home/cs/other/workspace/ruoyi/RuoYi-Cloud-master/sql/ry_config_20231204.sql | mysql -u root -P 3305 -p`
18.8KiB 0:00:00 [ 198MiB/s] [=========================================================================>] 100%
Enter password:
❯ pv /home/cs/other/workspace/ruoyi/RuoYi-Cloud-master/sql/ry_20231130.sql | mysql -u root -P 3305 -p ry-config
55.0KiB 0:00:00 [ 409MiB/s] [=========================================================================>] 100%
Enter password: