学无先后,达者为师

网站首页 编程语言 正文

Linux中查看进程命令ps aux,ps -ef,ps -A,ps -a

作者:夏已微凉、 更新时间: 2022-02-04 编程语言

一、前言

ps (英文全拼:process status)命令用于显示当前进程的状态,类似于 windows 的任务管理器。

二、ps -ef

  • 输出
    在这里插入图片描述

  • 列的意思

描述
UID 用户的ID ,但输出的是用户名
PID 进程的ID
PPID 父进程的ID
C 进程占用CPU的百分比
STIME 进程启用到现在的时间
TIME 该进程实际使用CUP运行的时间
TTY 该进程在哪个终端上运行,若与终端无关,则显示?,若为pts/0等,则表示由网络连接主机进程
CMD 命令的名称和参数

三、ps -aux

  • 输出
    在这里插入图片描述

  • 列的意思

描述
USER 行程拥有者
PID 进程的ID
%CPU 占用的 CPU 使用率
%MEM 占用的记忆体使用率
VSZ 占用的虚拟记忆体大小
RSS 占用的记忆体大小
TTY 终端的次要装置号码 (minor device number of tty)
STAT 该行程的状态
START 行程开始时间
TIME 执行的时间
COMMAND 所执行的指令
  • STAT该行程的状态 详情
描述
D 无法中断的休眠状态 (通常 IO 的进程)
R 正在执行中
S 静止状态
T 暂停执行
Z 不存在但暂时无法消除
W 没有足够的记忆体分页可分配
< 高优先序的行程
N 低优先序的行程
L 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)

四、ps -A

  • 输出
    在这里插入图片描述

  • 列出所有的进程

五、ps -a

  • 输出
    在这里插入图片描述

  • 显示所有终端机下执行的程序,除了阶段作业领导者之外

六、ps的aux和-ef区别

1、输出风格不同

  • 两者的输出结果差别不大,但展示风格不同。aux是BSD风格,-ef是System V风格。

2、aux会截断command列,而-ef不会,当结合grep时这种区别会影响到结果

  • 原文 - PS的aux和-ef参数
  • 一直以为ps aux就可以列出所有的在运行进程,最近发现还是有些缺陷,用ps aux和-ef得到的结果居然不一样,以后尽量用-ef参数吧。
  • 情况是这样的,我用 /bmrt/blaph/blaph/bmgctl 来启动进程,由于ps aux是用BSD格式来显示结果,所以可能只会显示到 /bmrt/blaph/blap,后面的都被截掉了。
  • 这样,如果用 ps aux | grep bmgctl 来过滤该进程,可能就会误伤,获取不到bmgctl进程。
  • 而ps -ef是用全格式的System V格式,显示出来就是带全路径的进程名,会显示出bmgctl,在 ps -ef | grep bmgctl 命令下就可以完整显示该进程了。

原文链接:https://lrbbfc.blog.csdn.net/article/details/122232571

栏目分类
最近更新