Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux查看进程用ps -ef还是ps aux

Linux查看进程用ps -ef还是ps aux?一文看懂区别

作者:理想青年宁兴星

还在纠结ps -ef和ps aux的区别吗?本文用实例对比两个命令的输出格式、列内容和适用场景,教你如何查看父子进程和CPU内存占用,并解释管道符和grep过滤进程的用法,让你轻松掌握进程监控

前言:

虽然 ps -ef 与 ps aux  命令都能查看进程运行情况,但两者之间还是有一些细致区别。

一、格式与输出

1、ps -ef/ps -Af

输出示例:

UID        PID  PPID  C STIME TTY          TIME CMD

root      2183     1  1 16:06 ?        00:01:03 java -jar example.jar

2、ps -aux

输出示例:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2183  1.0  0.5  123456  7890 ?        Ssl  16:06   0:01 java -jar example.jar

二、列内容区别

1、在 ps -ef  中,可以看到PPID列,它可以更好的帮助我们了解父子进程。

2、在 ps aux 中, 包含了%CPU和%MEM列,它可以更好地帮助我们更直观的监控内容信息。

三、使用场景区别

1、ps -ef :查看所有进程及其详细信息,并显示父进程 ID。

2、ps aux:重点在资源使用情况,像CPU和内存的占用率等等。 

四、为什么两个命令中都有  “| grep”?

答:

1、 “|” 我们称为管道符。它的作用是在 Unix/Linux中将一个命令的输出连接到另一个命令的输出。通过管道符,我们可以连接多个命令,让数据在它们之间传递。

2、“grep” 的作用是过滤是 “java” 的相关进程。

举个例子:

假设我们有以下命令:echo -e "apple\nbanana\ncherry" | grep "an"

分析一下其中的意思:

即最终输出结果为:banana 。

可以看到,grep 命令 相当于SQL中的模糊查询。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文