ps -ef 输出结果的具体含义

ps [选项]
下面对命令选项进行说明:
-e   显示所有进程。
-f    全格式。
-h   不显示标题。
-l    长格式。
-w  宽输出。
a    显示终端上的所有进程,包括其他用户的进程。
r    只显示正在运行的进程。

u  以用户为主的格式来显示程序状况。

x     显示所有程序,不以终端机来区分。


ps -ef 显示出的结果:
    1.UID       用户ID    (如果是root,表示你是root用户
    2.PID        进程ID
    3.PPID      父进程ID
    4.C           CPU占用率
    5.STIME     开始时间
    6.TTY         开始此进程的Terminal Type (TTY)   终端设备
    7.TIME       此进程运行的总时间
    8.CMD/SHELL       命令名

例子:
root      3442   22892  0 15:22 pts/0    00:00:00 grep assss
root     18374 10253  0 09:47 ?        00:01:08 /usr/java/jdk1.7.0_75/bin/java -Dfile.encoding=UTF-8 -XX:PermSize=128M -XX:MaxPermSize=512m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 
-classpath /usr/local/sonar/apache-maven-3.0.5/boot/plexus-classworlds-2.4.jar -Dclassworlds.conf=/usr/local/sonar/apache-maven-3.0.5/bin/m2.conf 
-Dmaven.home=/usr/local/sonar/apache-maven-3.0.5 org.codehaus.plexus.classworlds.launcher.Launcher 
-f assss-pom/pom.xml clean install -Dmaven.test.failure.ignore=true -Dfile.encoding=UTF-8 -Dmaven.javadoc.skip=true -Dmaven.yuicompressor.skip=true


pts/0的意思:
man里面是这样说的:ptmx and pts - pseudo-terminal master and slave,pts是所谓的伪终端或虚拟终端,具体表现就是你打开一个终端,这个终端就叫pts/0,如果你再打开一个终端,这个新的终端就叫pts /1。
在上面就是你为了运行 assss 任务开创的虚拟终端。
“?”表示终端类型未知。
<think>好的,我现在需要回答用户关于ps -aux和ps -ef命令区别的问题。首先,我得仔细回顾提供的引用内容,确保准确引用相关信息。 根据引用[3],ps -aux主要用来查看进程的CPU和内存占用率,而ps -ef更关注父进程ID和完整的命令参数。这说明两者在输出信息侧重点不同。然后引用[4]提到,两者都显示所有进程,但-aux用于整体状态,-ef用于调试或详细信息。需要确认这两个选项的差异是否在输出格式和包含的字段上。 接下来,查看引用[2],里面详细说明了ps命令的选项,比如-e显示所有进程,-f全格式,-a显示终端上的所有进程。所以,ps -ef中的-e和-f组合可能显示全格式的所有进程,而-aux中的a、u、x选项分别代表所有用户、详细用户信息和包括无终端的进程。这里可能涉及到选项的兼容性,比如传统Unix和BSD格式的区别。 另外,引用[5]提到了在脚本中使用ps aux时可能因为子shell导致结果不同,但用户的问题更多是用法区别,这部分可能暂时不需要深入,除非用户特别询问脚本中的差异。 需要整理出两者的主要区别,包括选项含义输出格式、常用场景。同时,可能存在的误区是用户认为两者完全等同,但实际上选项组合可能有不同效果,比如-aux是否包含-u选项带来的用户详细信息。此外,根据Unix和Linux的不同版本,这些命令的行为可能略有不同,需要指出。 最后,按照用户的要求,生成相关问题,比如选项的具体作用、输出格式解析、使用场景比较等。确保回答结构清晰,分点说明,并正确标注引用来源。</think>### ps -aux与ps -ef命令的区别及用法比较 #### 1. **命令选项解析** - **`ps -ef`** - `-e`:显示**所有进程**(包括其他用户的进程)[^2] - `-f`:以**全格式**输出,包含UID、PID、PPID(父进程ID)、CMD完整命令路径等字段[^3] - 示例输出: ```bash UID PID PPID C STIME TTY TIME CMD root 1 0 0 09:00 ? 00:00:02 /sbin/init ``` - **`ps -aux`** - `a`:显示**终端上的所有进程**(包括其他用户的进程)[^2] - `u`:以**用户导向格式**输出,包含CPU占用率(%CPU)、内存占用率(%MEM)、进程状态(STAT)等字段[^3] - `x`:显示**无控制终端的进程**(如守护进程)[^2] - 示例输出: ```bash USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.1 168012 9428 ? Ss 09:00 0:02 /sbin/init ``` #### 2. **核心区别对比** | **对比项** | **`ps -ef`** | **`ps -aux`** | |------------------|------------------------------------|------------------------------------| | **主要用途** | 查看进程的父进程ID和完整命令路径 | 查看进程的CPU/内存占用及详细状态 | | **输出字段** | PPID、CMD(完整命令) | %CPU、%MEM、STAT、USER[^3] | | **格式兼容性** | 符合Unix标准格式(SysV风格)[^4] | 兼容BSD格式(含资源占用信息)[^4] | | **调试场景** | 分析进程间的父子关系 | 监控系统资源消耗 | #### 3. **典型使用场景** - **`ps -ef`适用场景** - 需要追踪进程的**父进程ID(PPID)**,例如排查僵尸进程时 - 查看**完整命令行参数**(如启动服务时的配置参数)[^4] - 示例:查找特定服务的进程路径 ```bash ps -ef | grep nginx ``` - **`ps -aux`适用场景** - 监控进程的**资源占用情况**(如CPU或内存过高的进程) - 分析进程的**运行状态**(如僵尸进程标记为`Z`) - 示例:按CPU占用排序进程 ```bash ps -aux --sort=-%cpu | head ``` #### 4. **注意事项** - **命令兼容性**: - `ps -aux`在部分Unix系统中可能被解析为`ps -a -u -x`,而`-u`后需指定用户名,可能导致语法歧义[^5]。在Linux中通常无此问题。 - **字段覆盖性**: - `ps -ef`不显示资源占用,而`ps -aux`缺少PPID字段,需根据需求选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值