【一天一个shell命令】好管家-进程-ps

本文详细介绍了Linux系统下ps命令的使用方法,包括命令路径、帮助文档、参数详解及多个实用示例,帮助读者掌握进程信息的查看技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小知识(以ps为例):
 查看命令路径  which ps 
 命令帮助 ps --help
 命令完全手册: man ps

说明

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

附知识说明

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

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

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

常见实例

 
  
  1. $ps 

如图:
ps

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

 
  
  1. $ps –ef 

如图:psef

解释:

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)

 
  
  1. $ps -e     
  2. $ps -ef   
  3. $ps -eF   
  4. $ps –ely 

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

 
  
  1. $ps ax   
  2. $ps axu 

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

 
  
  1. $ps -ejH   
  2. $ps axjf 

4. 打印线程的有关信息

 
  
  1. $ps -eLf   
  2. $ps axms 

5. 获取安全信息

 
  
  1. $ps -eo euser,ruser,suser,fuser,f,comm,label   
  2. $ps axZ   
  3. $ps –eM 

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

 
  
  1. $ps -U root -u root u 

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

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

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

 
  
  1. $ps -C syslogd -o pid

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

 
  
  1. $ps -p 42 -o comm=

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

 
  
  1. $ps -eo comm,pcpu | head 

image

附: -0的参数目录

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









本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/yjplxq/1034687,如需转载请自行联系原作者
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值