查看原文
其他

Linux ps命令没想到还能这样用

李逸皓 运维book思议 2023-10-21

先放个链接,万一有人关注呢

优质文章推荐

↓ ↓ ↓ ↓ ↓

Linux系统监控工具推荐

Docker常用命令总结:运维必知必会

Linux系统安全:IPS入侵防御系统

CentOS再见!拥抱Rocky ro Alma

一文搞懂Linux下的神级编辑器:Vim

一、ps命令简介

ps命令全称为process status,它用于显示当前系统的进程状态。使用ps可以方便地查看进程的PID、内存占用、执行时间等信息,辅助我们对进程进行监控和管理。

二、ps命令的功能作用

1、查看进程执行状态
ps可以显示每个进程的详细状态,常见的有:
R - 运行(Running)
S - 中断(Sleeping)
D - 不可中断的睡眠(Uninterruptible Sleep)
T - 停止(Stopped)
Z - 僵死(Zombie)
查看进程状态可以判断进程是否正常工作或存在问题,是否被阻塞或结束运行。
2、查找特定进程
ps支持多种方式查找进程:
根据PID查找:ps -p 1234
根据进程名查找:ps -C nginx
根据端口号查找:ps -aef | grep 3306
根据内存使用查找:ps aux --sort -%mem | head
根据CPU使用查找:ps aux --sort -%cpu | head
根据用户名查找:ps -u frank
3、检测系统资源占用情况
ps可以显示每个进程对各种系统资源的占用情况,常见的有:
%CPU - CPU利用率
%MEM - 内存占用率
VSZ - 虚拟内存占用大小
RSS - 物理内存占用大小
COMMAND - 进程对应的程序名
这样可以直观地查看不同进程的资源占用,并分析出占用过高的进程。
4、分析进程关系
ps以树形结构显示进程之间的关系:
PPID - 父进程ID
PID - 进程本身ID
PGID - 进程组ID
SID - 会话ID

三、ps常用参数选项

-A/-e:显示所有进程

-a:显示同一终端下的所有程序

-u:以用户为主的格式显示进程状况

-x:显示无控制终端的进程

--sort:指定排序字段

-o:自定义输出格式

-h:不显示标题信息

-w:宽格式显示提供更多信息

四、ps命令基础案例

1、监控某个用户进程

ps -u root -u user1

2、查找特定进程

ps -C nginx

3、按内存使用排序

ps aux --sort -%mem

4、显示线程信息

ps -e -L -o pid,tid,pcpu,pmem

5、看进程树结构

ps -axjf

6、实时监控进程状态变化

watch -n 1 'ps -ef'

7、杀掉特定进程

kill $(ps aux | grep mysql | awk '{print $2}')

8、查找进程打开的端口

ps aux | grep nginx | grep tcp

五、实战案例

1、按内存利用率排序,找出前10大内存占用进程
ps aux --sort -%mem | tail -n 10
2、显示所有进程的线程信息
ps -e -o pid,tid,pcpu,pmem -
3、输出进程信息至日志文件
ps -ef > /var/log/ps.log
4、查看进程启动时间
ps -eo pid,lstart,cmd
5、树形显示父子进程关系
ps -axjf

6、监控某进程的线程数变化

watch "ps -L -p 1234 | wc -l"

7、查找进程的环境变量信息

ps -p 2135 -o pid,env

8、根据端口列出进程详细信息

ss -tulpn | grep :80 | awk '{print $5}' | xargs -I {} ps -p {} -o pid,ppid,cmd,user

9、批量跟踪进程系统调用

for pid in $(ps aux | awk '{print $2}' | grep nginx); do strace -p $pid -o /tmp/strace.$pid.log; done

10、统计各个状态的进程数

ps -A -o stat | sort | uniq -c

这些实例涵盖了ps各种实用的组合应用,既可以监控进程动态信息,也可以与其他命令配合强大的管理进程。

来不及解释了,快上车!(进群看公告)

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。

              ↓↓↓ 点个在看,你最好看!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存