Linux ps命令详解
linux ps命令详解(unix风格)
linux中ps只显示进程的静态快照,及瞬间的进程状态,它拥有众多的风格,可分为3组:UNIX风格,BSD风格,GNU风格,本文介绍UNIX风格的ps指令。
参数
ps [-aefFly] [-p pid] [-u userid]
-a 与任何用户标识和终端相关的进程
-e 所有进程(包括守护进程)
-p pid 与指定PID相关的进程
-u userid 与指定用户标识userid相关的进程
-ef 显示所有用户进程,完整输出
-a 显示所有非守护进程
-t 仅显示所有守护进程
显示参数
ADDR 进程表中的虚拟地址
C 处理器利用率(废弃率)
CMD 正被执行的命令的名称
F 与进程相关的标志
NI nice值,用于设置优先级
PID 进程ID
PPID 父进程的进程ID
PRI 优先级(较大的数字=较低的优先级)
RSS 内存驻留空间大小(内存管理)
S 状态代码(D,R,S,T,Z)
STIME 累积系统时间
SZ 物理页的大小(内存管理)
TIME 累积CPU时间
TTY 控制终端的完整名称
UID 用户标识
WCHAN 等待通道
实例
1. 显示所有当前进程
$ ps -ax //-a 代表 all,同时加上x参数会显示没有控制终端的进程。 $ ps -ax | less //less便于查看
2. 根据用户过滤进程
$ ps -u webadmin //要查看用户'webadmin'的进程
3. 通过cpu和内存使用来过滤进程
$ $ ps -aux | less $ ps -aux --sort -pcpu | less //--sort命令根据CPU使用来升序排序 $ ps -aux --sort -pmem | less //--sort命令根据内存使用来升序排序 $ ps -aux --sort -pcpu,+pmem | head -n 10 //同时根据CPU和内存排序,并显示前10个结果
3. 通过进程名和PID过滤
$ ps -C java //显示名为java的进程的信息 $ ps -f -C Java //显示进程更多的信息
3. 显示安全信息
$ ps -eo pid,user,args //参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User和Args参数显示PID,运行应用的用户和该应用
3. 实时监控进程状态
$ watch -n 1 ‘ps -aux --sort -pmem, -pcpu’ //每秒刷新一次当前的进程状态 $ watch -n 1 ‘ps -aux --sort -pmem, -pcpu | head 20’ //限制前20条
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。
出处:http://www.51gjie.com/linux/1007.html
=======================================================================================
Linux ps命令详解
ps命令(全称:process status)是linux查看当前系统中进程状态的常用命令。
ps命令详细介绍
ps命令的用法如下:
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)
+ 位于后台的进程组
比如我们可以通过以下命令查看当前系统所有进程信息:
ps -aux
执行结果如下:
如果查看指定的进程,如java进程,可以通过管道符和grep命令进行过滤,命令如下:
ps -aux|grep java
执行结果如下:
实例操作
1. 杀掉java进程(慎用)
#查看java进程 ps -aux|grep java #获取java进程号,如55555,通过kill命令关闭进程(-9表示强制关闭) kill -9 55555
是不是觉得很麻烦,那么就用一个命令表达式来完成上面的功能
#要确保当前系统只有一个java进程,防止误杀 ps -uax|grep java|awk '{print $2}'|xargs kill -9
2. 查看cpu占用率前10的进程
#这里head命令后的11,包含第1行的列信息
ps -aux --sort=-pcpu|head -11
出处:http://t.zoukankan.com/atai-p-14393027.html
=======================================================================================
Linux查看进程--ps命令
查看进程:
1、ps 命令用于查看当前正在运行的进程。
grep 搜索
例如: ps -ef | grep java
表示查看所有进程里 CMD 是 java 的进程信息
2、ps -aux | grep java
-aux 显示所有状态
ps
3. kill 命令用于终止进程
例如: kill -9 [PID]
-9 表示强迫进程立即停止
通常用 ps 查看进程 PID ,用 kill 命令终止进程
出处:https://www.csdn.net/tags/MtjaggwsMTYwNDctYmxvZwO0O0OO0O0O.html
=======================================================================================
ps 命令显示不完整的问题
今天在使用ps命令的时候,无法查找到指定名字的进程ID,仔细查找才发现ps命令查找的结果中进程启动的命令以及参数信息被截断了
问题实例
用户wanng启动了一个进程 wanng_qytrunkcross, 启动参数是 config.lua 文件,执行 ps -u wanng 查询用户的进程,结果如下:
[wanng@localhost shell]# ps -u wanng
PID TTY TIME CMD
127271 ? 00:00:01 sshd
127272 pts/4 00:00:00 bash
127332 pts/4 00:17:19 wanng_qytrunkcros
从结果中发现进程名和启动参数的显示被截断了
解决方案
以下是通过man ps查询到的解决办法,以下三种方法都可以解决这个问题
w Wide output. Use this option twice for unlimited width
-w Wide output. Use this option twice for unlimited width.
-f Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns. It also causes the command arguments to be printed. When used with -L, the NLWP (number of threads) and LWP (thread ID) columns will be added. See the c option, the format keyword args, and the format keyword comm.
-F Extra full format. See the -f option, which -F implies.
- 在 ps 后面加上 -w w 选项,命令执行结果如下
[wanng@localhost shell]# ps -u wanng -w w
PID TTY STAT TIME COMMAND
127271 ? S 0:01 sshd: wanng@pts/4
127272 pts/4 Ss+ 0:00 -bash
127332 pts/4 Sl 17:20 ./wanng_qytrunkcross config.lua
- 在 ps 后面加上 ww 选项,命令执行结果如下
[wanng@localhost shell]# ps -u wanng ww
PID TTY STAT TIME COMMAND
127271 ? S 0:01 sshd: wanng@pts/4
127272 pts/4 Ss+ 0:00 -bash
127332 pts/4 Sl 17:20 ./wanng_qytrunkcross config.lua
- 在 ps 后面加上 -f 或 -F 选项,表示以全格式显示,命令执行结果如下
[wanng@localhost shell]# ps -f -u wanng
UID PID PPID C STIME TTY TIME CMD
wanng 127271 127269 0 13:55 ? 00:00:01 sshd: wanng@pts/4
wanng 127272 127271 0 13:55 pts/4 00:00:00 -bash
wanng 127332 1 3 13:55 pts/4 00:18:30 ./wanng_qytrunkcross config.lua
出处:https://www.cnblogs.com/wanng/p/ps-command-truncation.html
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/14784299.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
posted on 2021-05-19 11:17 jack_Meng 阅读(2113) 评论(0) 编辑 收藏 举报