linux ps命令详解

ps命令(全称:process status)是linux查看当前系统中进程状态的常用命令,比如我们可以通过以下命令查看当前系统所有进程信息:

1
ps -aux

执行结果如下:

如果查看指定的进程,如java进程,可以通过管道符和grep命令进行过滤,命令如下:

1
ps -aux|grep java

执行结果如下:

 ps命令详细介绍

ps命令的用法如下:

1
ps [options]

options表示命令参数,详细的参数列表如下:

-A 显示所有进程(等价于-e)
-a 显示一个终端的所有进程,除了会话引线
-e 显示所有进程(等价于-A)
-N 忽略选择
-d 显示所有进程,但省略所有的会话引线
-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用
-p pid 进程使用cpu的时间
-u uid or username 选择有效的用户id或者是用户名
-g gid or groupname 显示组的所有进程
U username 显示该用户下的所有进程,且显示各个命令的详细路径,如:ps U admin;ps -fU root
-f  全部列出,通常和其他选项联用
-l  长格式(有F,wchan,C 等字段)
-j  作业格式
-o 用户自定义格式
v   以虚拟存储器格式显示
s   以信号格式显示
-m 显示所有的线程
-H 显示进程的层次(和其它的命令合用,如:ps -Ha)
e   命令之后显示环境
h   不显示第一行
--lines<行数> 每页显示的行数
--width<字符数> 每页显示的字符数
--help 显示帮助信息
--version 显示版本信息

针对STAT(进程当前状态)的描述如下:

D  无法中断的休眠状态(通常 IO 的进程)
R  正在运行可中在队列中可过行的
S  处于休眠状态
T  停止或被追踪
W 进入内存交换 (从内核2.6开始无效)
X  死掉的进程 (基本很少见)
Z  僵尸进程
<  优先级高的进程
N  优先级较低的进程
L 有些页被锁进内存
s  进程的领导者(在它之下有子进程)
l  多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads)
+  位于后台的进程组

 实例操作

1. 杀掉java进程(慎用)

1
2
3
4
#查看java进程
ps -aux|grep java
#获取java进程号,如55555,通过kill命令关闭进程(-9表示强制关闭)
kill -9 55555

是不是觉得很麻烦,那么就用一个命令表达式来完成上面的功能

1
2
#要确保当前系统只有一个java进程,防止误杀
ps -uax|grep java|awk '{print $2}'|xargs kill -9

 2. 查看cpu占用率前10的进程

1
2
#这里head命令后的11,包含第1行的列信息
ps -aux --sort=-pcpu|head -11

 

 

posted on   阿泰555  阅读(15720)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示