linux命令详解:ps
说明
ps命令是Process Status的缩写,当程序运行在系统上时,我们称之为进程(process),我们要想清楚的知道进程的运行状态和管理进程,可以用ps这个命令来获取我们想要看到的信息。
但是由于linux系统的历史发展原因,ps命令分为三种ps命令风格:
- Unix风格:参数前加单破折线,来源于贝尔实验室开发的AT&T Unix系统
- BSD风格:参数前不加破折线,来源于加州大学伯克利分校开发的一个Unix系统
- GNU风格:参数前前面加双破折线,来源于GNU计划&Linux内核的Linux系统
语法
语法结构
ps [options]
查看帮助文档
man ps
options - Unix风格
参数 | 作用 |
---|---|
-A | 显示所有进程 |
-a | 显示除控制进程和无终端进程外的所有进程 |
-d | 显示除控制进程外的所有进程 |
-e | 显示所有进程 |
-t | 显示终端ID在ttylist列表中的进程 |
-F | 显示更多的额外输出(相对-f参数而言) |
-f | 显示完整格式的输出 |
-L | 显示进程中的线程 |
-u 用户名 | 显示该用户的进程 |
运行结果展示
运行命令
ps -ef # 显示当前所有进程的详细信息
运行结果
参数说明
参数 | 作用 |
---|---|
UID | 运行这个进程的用户(如果该用户名过长,会显示成用户id) |
PID | 进程ID |
PPID | 父进程ID(有时我们要干掉一个进程总是失败,这是我们要考虑是不是要干掉它的父进程) |
C | 该进程生命周期的CPU利用率(CPU使用时间/进程运行时间*100%,单位%) |
STIME | 进程启动该时的系统时间(进程的启动时间,时间较久显示日期,当天的显示具体时间HH:MM) |
TTY | 进程启动时的终端设备(?表示没有终端) |
TIME | 运行进程需要的累计CPU时间(就是到目前为止该进程使用CPU一共多久了)单位[dd]-hh:mm:ss |
CMD | 启动进程的命令 |
options - BSD风格
参数 | 作用 |
---|---|
T | 显示与当前终端关联的所有进程 |
a | 显示跟任意终端关联的所有进程 |
g | 显示所有的进程,包括控制进程 |
x | 显示所有的进程,甚至包括未分配任何终端的进程 |
r | 仅显示运行中的进程 |
u | 采用基于用户的格式显示 |
U | 显示某用户ID的所有进程 |
p | 显示指定pid的进程 |
t | 显示在指定终端运行的进程 |
H | 将线程按进程来显示 |
m | 在进程后显示线程 |
e | 显示命令使用的环境变量 |
l | 使用长模式显示 |
运行结果展示
运行命令
ps aux # 显示当前所有进程的详细信息
运行结果
参数说明
对比Unix风格,主要多出了几个参数
参数 | 作用 |
---|---|
VSZ | 进程在内存中的大小,单位KB |
RSS | 进程在未换出时占用的物理内存 |
STAT | 代表当前进程状态的双字符状态码 第一个字符:S休眠 R运行 第二个字符:<高优先级进程 N低优先级进程 L有页面锁定在内存 s控制进程 l多线程进程 +前台进程 |
options - GNU风格
略
小技巧
grep过滤
ps -ef | grep 进程关键字 # 只显示包含关键字的进程
sort排序
ps aux --sort -pcpu # 按cpu降序排列
ps aux --sort -pmem # 按内存降序排列
分类:
测试基础学习 - centos
标签:
linux
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程