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       # 按内存降序排列
posted @   漓白  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示