ps 命令

ps(process status)

 

 

功能说明:报告程序状况。

语  法:ps [-aAcdefHjlmNVwy][acefghLnrsSTuvxX][-C <指令名称>][-g <群组名称>][-G <群组识别码>][-p <程序识别码>][p <程序识别码>][-s <阶段作业>][-t <终端机编号>][t <终端机编号>][-u <用户识别码>][-U <用户识别码>][U <用户名称>][-<程序识别码>][--cols <每列字符数>][--columns <每列字符数>][--cumulative][--deselect][--forest][--headers][--help][--info][--lines <显示列数>][--no-headers][--group <群组名称>][-Group <群组识别码>][--pid <程序识别码>][--rows <显示列数>][--sid <阶段作业>][--tty <终端机编号>][--user <用户名称>][--User <用户识别码>][--version][--width <每列字符数>]

补充说明:ps是用来报告程序执行状况的指令,您可以搭配kill指令随时中断,删除不必要的程序。

参  数:
 -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"参数相同。

<think>好的,用户想了解如何在Linux中使用ps命令查看进程状态。首先,我需要回忆一下ps命令的基本用法和相关参数。根据用户提供的引用资料,ps命令主要有三种常用方式:ps -ef、ps -aux以及结合grep过滤特定进程,比如ps -ef | grep tomcat。 接下来,我应该解释每个参数的含义。比如,-e显示所有进程,-f显示完整格式,-a显示所有终端进程,-u显示用户信息,-x包括没有控制终端的进程。需要详细说明这些参数组合后的效果,比如ps -aux和ps -ef的区别,以及它们各自输出的字段含义,如USER、PID、%CPU等。 然后,用户可能关心进程状态STAT字段的不同值,比如R(运行)、S(可中断睡眠)、D(不可中断睡眠)、Z(僵尸进程)等,这些状态对系统管理员来说非常重要,能帮助他们识别问题进程。需要结合引用中的信息,准确描述每个状态的含义。 另外,用户提到的TTY字段为问号的情况,说明进程不需要终端,这也是需要解释清楚的点。同时,根据引用[4],每个字段的含义都需要逐一说明,确保用户能理解输出内容。 用户可能还希望知道如何实时监控进程,这时候可以建议结合watch命令或者使用top/htop工具,但根据问题,主要聚焦在ps命令上。最后,生成相关问题时要围绕ps的进阶用法、STAT状态解析、资源监控和与其他命令的对比,帮助用户进一步学习。</think>### Linux进程状态查看:ps命令详解 在Linux系统中,`ps`命令用于查看当前系统的进程状态,是系统管理和故障排查的核心工具。以下是其用法和关键信息的详细说明: --- #### **1. 基础语法与常用参数** - **查看所有进程**: $$ ps -ef $$ 参数含义: `-e`(显示所有进程) + `-f`(显示完整格式),输出包含进程PID、父进程PPID、启动时间等[^2][^4]。 - **查看详细信息**: $$ ps -aux $$ 参数含义: `-a`(所有终端进程) + `-u`(用户格式) + `-x`(包含无终端的进程),额外显示CPU/内存占用率等资源信息[^4]。 - **过滤特定进程**: $$ ps -ef | grep nginx $$ 通过管道符`|`结合`grep`筛选目标进程(如`nginx`)[^2]。 --- #### **2. 输出字段解析** `ps -aux`的输出包含以下关键字段: - **USER**:进程启动者 - **PID**:进程唯一ID - **%CPU**/**%MEM**:CPU/内存占用率 - **VSZ**/**RSS**:虚拟内存/物理内存占用量 - **STAT**:进程状态(见下文详解) - **COMMAND**:启动命令的完整路径[^4]。 --- #### **3. 进程状态(STAT字段)** STAT字段通过字母表示进程运行状态: - **R**(Running):正在运行或等待CPU调度 - **S**(Interruptible Sleep):可中断的睡眠状态(等待事件) - **D**(Uninterruptible Sleep):不可中断的睡眠状态(如磁盘I/O) - **Z**(Zombie):僵尸进程(已终止但未被父进程回收) - **T**(Stopped):被信号暂停(如`Ctrl+Z`触发) - **<**:高优先级进程 - **N**:低优先级进程[^3]。 --- #### **4. 典型应用场景** 1. **查找资源占用高的进程**: ```bash ps -aux --sort=-%cpu | head -n 5 # 按CPU使用率降序排列前5 ``` 2. **检查僵尸进程**: ```bash ps -aux | grep 'Z' # 筛选STAT为Z的进程 ``` 3. **查看无终端关联的进程**: TTY字段为`?`表示进程与终端无关(如守护进程)。 --- #### **5. 扩展技巧** - **实时监控进程变化**: 结合`watch`命令动态刷新(如`watch -n 1 "ps -aux | grep python"`)。 - **进程树展示**: 使用`pstree`命令以树状结构显示进程关系。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值