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

简介:

小知识(以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的参数目录

参数 描述
pcpu CPU占用率
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,如需转载请自行联系原作者
目录
相关文章
|
16小时前
|
Shell Linux 调度
【Shell 命令集合 系统管理 】Linux 调整进程优先级 renice命令 使用指南
【Shell 命令集合 系统管理 】Linux 调整进程优先级 renice命令 使用指南
52 0
|
16小时前
|
Shell Linux
【Linux】进程实践项目(更新中) — 自主shell编写
前几篇文章,我们学习进程的相关知识:进程概念,进程替换,进程控制。熟悉了进程到底是个什么事情,接下来我们来做一个实践,来运用我们所学的相关知识。这个项目就是手搓一个shell模块,模拟实现Xshell中的命令行输入。
12 1
|
16小时前
ps 查看当前系统进程状态
【5月更文挑战第7天】ps 查看当前系统进程状态。
15 5
|
16小时前
|
Linux
Linux系统ps命令
这些是一些常见的 `ps`命令选项和用法,用于查看系统中运行的进程及其相关信息。您可以根据需要选择合适的选项以满足您的任务要求。
32 0
|
16小时前
|
Linux
|
16小时前
|
Web App开发 监控 Unix
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
Linux 常用命令汇总(七):进程管理 & 系统权限 & 用户授权
|
16小时前
|
监控 前端开发 安全
【专栏】介绍了前端工程师如何掌握SSH命令,包括SSH协议的基础知识、命令行操作如登录、文件传输、目录管理和进程管理
【4月更文挑战第29天】本文介绍了前端工程师如何掌握SSH命令,包括SSH协议的基础知识、命令行操作如登录、文件传输、目录管理和进程管理。在前端开发中,SSH用于部署项目、协同后端开发及服务器监控。文章还强调了使用密钥认证、配置别名及安全注意事项,并提醒开发者面对问题时如何解决。学习和熟练运用SSH是前端工程师适应复杂项目需求的关键。
|
16小时前
|
运维 监控 Linux
【专栏】Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用
【4月更文挑战第28天】本文介绍了Docker命令`docker ps`的使用,包括列出运行中的容器、筛选特定容器、组合使用与其他命令配合以及在故障排查中的应用。通过基础和高级用法示例,如列出所有容器、搜索特定镜像、监控资源使用等,帮助读者理解和提升容器管理效率。对于Linux运维工程师,掌握`docker ps`是必备技能。
|
16小时前
|
Web App开发 人工智能 Ubuntu
【Linux】Linux启动/查看/结束进程命令(详细讲解)
【Linux】Linux启动/查看/结束进程命令(详细讲解)
|
16小时前
|
Shell Linux
Linux脚本Shell脚本来实现一次性kill多个端口的进程
Linux脚本Shell脚本来实现一次性kill多个端口的进程
7 0