温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

linux中ps命令怎么用

发布时间:2021-09-16 14:55:48 来源:亿速云 阅读:273 作者:小新 栏目:开发技术

这篇文章将为大家详细讲解有关linux中ps命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

小知识(以ps为例):

查看命令路径  which ps
命令帮助 ps --help
命令完全手册: man ps

说明

ps全称是:Process Status (进程状态),他就是提供进程信息的。

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

附知识说明

我们经常见到shell命令有三种类型的参数,最初我还琢磨 单划线和双划线有什么特殊的含义,原来是一个版本演变留下的问题。

linux系统中常见的3种命令行参数(以ps为例):
Unix类型的参数,前面有一短划线 如:ps -e
 BSD类型的参数,前面没有短划线  如:ps  a
 GNU长参数,前面有双划线 如:ps --deselect

所以,ps –a 和 ps  a查询结果会不同

常见实例

$ps

如图:

linux中ps命令怎么用

解释:默认情况,ps命令只显示属于当前用户并正在当前终端中运行的进程。默认ps的话,只运行了bash 和 ps

$ps –ef

如图:

linux中ps命令怎么用

解释:
UID 拥有进程的用户
PID 进程的ID
PPID 父进程PID
C 进程存续期的处理利用率
STIME 进程启动时的系统时间
TTY 进程所属的终端
TIME  运行进程累计CPU时间
CMD 启动进程的名称
帮助文档
这回我用的是redhat的--help, 得到ps的help被分为五类:
simple selection  简易选项

********* simple selection *********
 -A all processes    所有线程             
-N negate selection   忽略选择           
-a all w/ tty except session leaders 显示一个终端的所有进程,除了会话引线
-d all except session leaders     显示所有进程,但省略所有的会话引线(utility) 
 -e all processes              
 T  all processes on this terminal  
 a  all w/ tty, including other users
 g  OBSOLETE -- DO NOT USE         
 r  only running processes       
 x  processes w/o controlling ttys

selection by list  列表选项

********* selection by list *********
 -C by command name
 -G by real group ID (supports names)
 -U by real user ID (supports names)
 -g by session OR by effective group name
 -p by process ID
 -s processes in the sessions given
 -t by tty
 -u by effective user ID (supports names)
 U  processes for specified users
 t  by tty

output format  输出格式化

*********** output format ********** 
 -o,o user-defined   可以输入自己的参数
-f full          
 -j,j job control 
 s  signal         
 -O,O preloaded
 -o  v  virtual memory 
 -l,l long        
 u  user-oriented  
 -F   extra full  
 X  registers  

long options  长操作类型

*********** long options ***********
 --Group  --User  --pid  --cols  --ppid
 --group  --user  --sid  --rows  --info
 --cumulative  --format  --deselect
 --sort  --tty  --forest  --version
 --heading  --no-heading  --context

misc options 其他选项

********* misc options *********

-V,V  show version      L  list format codes   f  ASCII art forest
 -m,m,-L,-T,H  threads   S  children in sum    -y change -l format
 -M,Z  security data     c  true command name  -c scheduling class
 -w,w  wide output       n  numeric WCHAN,UID  -H process hierarchy


实例(来自man ps)

1. 查看系统每个进程的标准参数(To see every process on the system using standard syntax)

代码如下:


$ps -e    
$ps -ef  
$ps -eF  
$ps –ely

2. 查看系统每个进程的BSD(系统名)参数(To see every process on the system using BSD syntax)

代码如下:


$ps ax  
$ps axu

3. 打印进程树(To print a process tree)

代码如下:


$ps -ejH  
$ps axjf

4. 打印线程的有关信息

代码如下:


$ps -eLf  
$ps axms

5. 获取安全信息

代码如下:


$ps -eo euser,ruser,suser,fuser,f,comm,label  
$ps axZ  
$ps –eM

6. 要查看每个进程运行在用户根目录(真实的和有效的ID)格式

$ps -U root -u root u

7. 查看用户自定义的格式(To see every process with a user-defined format)

代码如下:


$ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm  
$ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm  
$ps -eopid,tt,user,fname,tmout,f,wchan

8. 仅仅打印系统日志的进程ID(Print only the process IDs of syslogd)

$ps -C syslogd -o pid=

9. 仅仅打印pid=42的name(Print only the name of PID 42)

$ps -p 42 -o comm=

10. 实用  以(7)为例,按照自定义格式看cpu信息

$ps -eo comm,pcpu | head

linux中ps命令怎么用

附: -0的参数目录

参数描述
pcpuCPU占用率
pid进程ID
ppid父进程ID
pmem内存使用率
comm可执行文件
cmd简单命令(simple command)
user启动进程的用户
nice优先级(niceness)
time累计的CPU时间
etime进程启动后累计时间
tty当前终端进程
euid有效用户ID
stat进程状态

ps语法

ps(选项)

ps选项

-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
-A:显示所有程序。
-c:显示CLS和PRI栏位。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
-C<指令名称>:指定执行指令的名称,并列出该指令的程序的状况。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:此选项的效果和指定"A"选项相同。
e:列出程序时,显示每个程序所使用的环境变量。
-f:显示UID,PPIP,C与STIME栏位。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
-g<群组名称>:此选项的效果和指定"-G"选项相同,当亦能使用阶段作业领导者的名称来指定。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
-G<群组识别码>:列出属于该群组的程序的状况,也可使用群组名称来指定。
h:不显示标题列。
-H:显示树状结构,表示程序间的相互关系。
-j或j:采用工作控制的格式显示程序状况。
-l或l:采用详细的格式来显示程序状况。
L:列出栏位的相关信息。
-m或m:显示所有的执行绪。
n:以数字来表示USER和WCHAN栏位。
-N:显示所有的程序,除了执行ps指令终端机下的程序之外。
-p<程序识别码>:指定程序识别码,并列出该程序的状况。
p<程序识别码>:此选项的效果和指定"-p"选项相同,只在列表格式方面稍有差异。
r:只列出现行终端机正在执行中的程序。
-s<阶段作业>:指定阶段作业的程序识别码,并列出隶属该阶段作业的程序的状况。
s:采用程序信号的格式显示程序状况。
S:列出程序时,包括已中断的子程序资料。
-t<终端机编号>:指定终端机编号,并列出属于该终端机的程序的状况。
t<终端机编号>:此选项的效果和指定"-t"选项相同,只在列表格式方面稍有差异。
-T:显示现行终端机下的所有程序。
-u<用户识别码>:此选项的效果和指定"-U"选项相同。
u:以用户为主的格式来显示程序状况。
-U<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
U<用户名称>:列出属于该用户的程序的状况。
v:采用虚拟内存的格式显示程序状况。
-V或V:显示版本信息。
-w或w:采用宽阔的格式来显示程序状况。 
x:显示所有程序,不以终端机来区分。
X:采用旧式的Linux i386登陆格式显示程序状况。
-y:配合选项"-l"使用时,不显示F(flag)栏位,并以RSS栏位取代ADDR栏位 。
-<程序识别码>:此选项的效果和指定"p"选项相同。
--cols<每列字符数>:设置每列的最大字符数。
--columns<每列字符数>:此选项的效果和指定"--cols"选项相同。
--cumulative:此选项的效果和指定"S"选项相同。
--deselect:此选项的效果和指定"-N"选项相同。
--forest:此选项的效果和指定"f"选项相同。
--headers:重复显示标题列。
--help:在线帮助。
--info:显示排错信息。
--lines<显示列数>:设置显示画面的列数。
--no-headers:此选项的效果和指定"h"选项相同,只在列表格式方面稍有差异。
--group<群组名称>:此选项的效果和指定"-G"选项相同。
--Group<群组识别码>:此选项的效果和指定"-G"选项相同。
--pid<程序识别码>:此选项的效果和指定"-p"选项相同。
--rows<显示列数>:此选项的效果和指定"--lines"选项相同。
--sid<阶段作业>:此选项的效果和指定"-s"选项相同。
--tty<终端机编号>:此选项的效果和指定"-t"选项相同。
--user<用户名称>:此选项的效果和指定"-U"选项相同。
--User<用户识别码>:此选项的效果和指定"-U"选项相同。
--version:此选项的效果和指定"-V"选项相同。
--widty<每列字符数>:此选项的效果和指定"-cols"选项相同。

关于“linux中ps命令怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI