Linux下显示系统进程的命令ps,最常用的有 ps -ef 和 ps aux。这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格 和 BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。

ps -ef 是用标准的格式显示进程的、其格式如下:

UID        PID  PPID  C STIME TTY          TIME CMD
......
root       604     1  7 2月23 ?       2-12:45:35 /usr/bin/python3 /app/exporter/docker_exporter/docker_exporter.py
libstor+   606     1  0 2月23 ?       00:00:11 /usr/bin/lsmd -d
kmsuat     607     1  0 2月23 ?       03:06:25 /app/jdk-17/bin/java -jar /app/jenkins/bin/jenkins-2.361.3.war --httpPort=8080 -Djava.awt.headless=true
root       687     1  0 2月23 ?       00:12:54 /usr/bin/python3 /app/exporter/oracle_exporter/oracle_exporter.py
kmsuat     688     1 16 2月23 ?       5-05:29:26 /app/prometheus/prometheus --config.file=/app/prometheus/prometheus.yml --web.enable-lifecycle --storage.tsdb.path=/app/prometheus/data --web.external-url=http:
root      1208     1  0 2月23 ?       00:00:00 /usr/sbin/sshd -D
kmsuat    1209     1  0 2月23 ?       01:00:02 /app/grafana-8.3.3/bin/grafana-server web --config=/app/grafana-8.3.3/conf/defaults.ini
root      1210     1  0 2月23 ?       00:46:25 /usr/sbin/snmpd -LS0-6d -f
root      1212     1  0 2月23 ?       02:28:52 /usr/bin/dockerd --config-file=/app/docker/etc/daemon.json
root      1216     1  0 2月23 ?       01:45:02 /usr/sbin/rsyslogd -n
root      1405  1212  0 2月23 ?       01:38:16 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd
......
kmsuat   32052 31996  0 15:06 ?        00:00:00 /usr/libexec/openssh/sftp-server
kmsuat   32065 31996  0 15:06 pts/1    00:00:00 -bash
kmsuat   32214 32065  0 15:06 pts/1    00:00:00 top
root     32215     2  0 10:20 ?        00:00:00 [kworker/5:2]

其中各列的内容意思如下:

UID           //用户ID、但输出的是用户名

PID           //进程的ID

PPID         //父进程ID

C              //进程占用CPU的百分比

STIME     //进程启动到现在的时间

TTY         //该进程在哪个终端上运行,若与终端无关,则显示? ;若为pts/0等,则表示由网络连接主机进程。

CMD       //命令的名称和参数

ps aux 是用BSD的格式来显示、其格式如下:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
......
root       604  7.8  6.3 5529556 1033368 ?     Ssl  2月23 3646:19 /usr/bin/python3 /app/exporter/docker_exporter/docker_exporter.py
polkitd    605  0.0  0.0 540556 12128 ?        Ssl  2月23   0:34 /usr/lib/polkit-1/polkitd --no-debug
libstor+   606  0.0  0.0   8580   832 ?        Ss   2月23   0:11 /usr/bin/lsmd -d
kmsuat     607  0.4 27.7 10142016 4520112 ?    Ssl  2月23 186:28 /app/jdk-17/bin/java -jar /app/jenkins/bin/jenkins-2.361.3.war --httpPort=8080 -Djava.awt.headless=true
root       626  0.1  0.0 225096  6116 ?        Ss   2月23  63:51 /usr/bin/vmtoolsd
root       627  0.0  0.0 223928  5760 ?        Ss   2月23   0:00 /usr/sbin/abrtd -d -s
root       632  0.0  0.0  26380  1784 ?        Ss   2月23   0:52 /usr/lib/systemd/systemd-logind
root       635  0.6  0.2 716244 42284 ?        Ssl  2月23 300:56 /usr/local/7xops-agent/LinuxDisruptor
root       636  0.0  0.1 305864 20392 ?        Ss   2月23  20:52 /usr/bin/python3 /app/exporter/polardb_exporter/polardb_exporter.py
dbus       640  0.0  0.0  60160  2428 ?        Ss   2月23   1:33 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
ntp        656  0.0  0.0  27804  2044 ?        Ss   2月23   0:08 /usr/sbin/ntpd -u ntp:ntp -g
root       680  0.0  0.0 296184 14624 ?        Ss   2月23  34:46 /usr/bin/python3 /app/exporter/otter_exporter/otter_exporter.py
......

同ps -ef 不同的有列有:

USER        //用户名

%CPU      //进程占用的CPU百分比

%MEM      //占用内存的百分比

VSZ         //该进程使用的虚拟內存量(KB)

RSS         //该进程占用的固定內存量(KB)(驻留中页的数量)

STAT         //进程的状态

START      //该进程被触发启动时间

TIME         //该进程实际使用CPU运行的时间

其中STAT状态位常见的状态字符有:

D      //无法中断的休眠状态(通常 IO 的进程);

R      //正在运行可中在队列中可过行的;

S      //处于休眠状态;

T      //停止或被追踪;

W      //进入内存交换 (从内核2.6开始无效);

X      //死掉的进程 (基本很少见);

Z      //僵尸进程;

<      //优先级高的进程

N      //优先级较低的进程

L      //有些页被锁进内存;

s      //进程的领导者(在它之下有子进程);

l      //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);

+      //位于后台的进程组;

​​Linux下ps -ef和ps aux的区别及格式详解​相关推荐

  1. Linux下ps -ef和ps aux的区别及格式详解

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢?两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格, ...

  2. Linux下ps -ef 和 ps aux 的区别及格式详解

    Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux.这两个到底有什么区别呢? 这里要说一下 BSD vs System V 这里需要说明的是:Linux不能称为"标准 ...

  3. Linux进程最大socket数,Linux下高并发socket最大连接数所受的各种限制(详解)

    1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每 ...

  4. linux如何确定共享库路径,摘录Linux下动态共享库加载时的搜索路径详解

    对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似"error while loading shared libraries"这样的错误,这是典型的因为需要的动态库不在动态链接器 ...

  5. linux修改zip中文件,Linux下修改jar、zip等文件内的文件详解

    Linux下修改jar.zip等文件内的文件详解 Linux下修改jar.zip等文件内的文件详解 看到很多同事在Linux环境下修改jar包内的文本文件或zip中的文本文件时,经常是先把jar包或z ...

  6. Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)

    1 查看CPU 1.1 查看CPU个数*核心数 cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 96 #一共96核 2 ...

  7. Linux下获取详细硬件信息的工具:Dmidecode命令详解

    Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息.Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS.系统.主板.处理器.内存.缓存等等.偶 ...

  8. 汇总 Linux下获取详细硬件信息的工具:Dmidecode命令详解

    Dmidecode 这款软件允许你在 Linux 系统下获取有关硬件方面的信息.Dmidecode 遵循 SMBIOS/DMI 标准,其输出的信息包括 BIOS.系统.主板.处理器.内存.缓存等等.偶 ...

  9. Linux下Gcc生成和使用静态库和动态库详解

    参考文章:http://blog.chinaunix.net/uid-23592843-id-223539.html 一.基本概念 1.1什么是库 在windows平台和linux平台下都大量存在着库 ...

最新文章

  1. hdu4416 Good Article Good sentence (后缀数组)
  2. 如何让报表告别繁琐?简单操作实现报表联动!
  3. 算法练习day10——190328(二叉树的先序、 中序、 后序遍历, 包括递归方式和非递归方式、找到一个节点的后继节点、二叉树的序列化和反序列化)
  4. Confluence 6 自动添加用户到用户组
  5. laravel-神奇的服务容器(转)
  6. 【Pytorch】MNIST数据集的训练和测试
  7. 关于ConcurrentDictionary的线程安全
  8. Excel文字输入技巧
  9. Android可达性分析,基于时间距离的机会网络可达性分析及应用
  10. EMI、EMS和EMC
  11. python基础专栏⑤-手机编写python篇-qpython开发python
  12. 正则表达式输入框验证正整数、负整数、小数点
  13. ftp上传工具 免安装,ftp上传工具 免安装绿色破解版好用推荐
  14. 笔记—学习【立创】如何使用示波器—测量一个波形
  15. opencv(十):vs2019+opencv4.1+ C++配置
  16. Gensim官方教程翻译(二)——语料库与向量空间(Corpora and Vector Spaces)
  17. 解题:肯前必肯后,否后必否前
  18. 《PHP程序员面试笔试宝典》——如何克服面试中紧张的情绪?
  19. Harmonic Number LightOJ - 1234(暴力分段打表 / 欧拉爷爷的O(1))
  20. 如何做成功的项目经理

热门文章

  1. js/jq获取复选框的选中值
  2. 思科路由器重置密码的方法
  3. (收集)一些好用的漏洞库网站:含工控安全
  4. wekan 看板系统(仿trello)0.49 虚拟机文件(virtualbox vmware images)
  5. 使用Retrofit+RxJava下载文件并实现APP更新
  6. 看视频、走个路就能赚钱?警惕个人信息泄露
  7. Ubuntu16.04 读SD卡失败 mount: unknown filesystem type exfat
  8. Java第三章-运算符、表达式和语句课后作业
  9. excel中VLOOKUP跨文件的调用
  10. 高等数学:第八章 多元函数的微分法及其应用(5)隐函数的求导公式