ps命令-查看进程

158 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第25天,点击查看活动详情

一、命令详解

1.1【功能说明】

ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片。如果想要动态地显示进程的信息,就需要使用top命令,该命令类似于把手机切换成录像模式。

1.2【语法格式】

[root@7bfe451a2fe1 ~]# ps --help
Usage:
 ps [options]

1.3【选项说明】

ps参数选项说明

  • -a 显示所有终端下执行的进程
  • a 显示与终端相关的所有进程,饮食每个进程的完整路径
  • x 显示与终端无关的所有进程
  • u 显示进程的用户信息
  • -u 显示指定用户相关的进程信息
  • -e 显示所有进程
  • -f 额外显示UID、PPID、C与STIME栏位
  • f 显示进程树
  • -H 显示进程树
  • -l 以详细的格式来显示进程的状况
  • -o 自定义输出指定的字段,以逗号分隔
  • --sort key key表示为指定字段排序,默认升序,+key升序,-key降序

说明:

  • 因为ps命令的功能实在太多了,26个字母已经满足不了了,因此在ps命令的参数中有类似于-a与a这2种写法,这2种写法的功能是不一样的。

二、使用范例

2.1 ps命令不接任何参数

ps

image-20221223001522908.png

默认情况下,ps命令不接任何参数时,输出的是使用者当前所有终端的进程,其输出结果中的各项说明如下:

  • PID 进程的标识号
  • TTY 进程所属的终端控制台
  • TIME 是进程所使用的总的CPU时间
  • CMD 是正在执行的命令行

2.2 常用组合ps -ef

ps -ef 

image-20221223002040739.png

输出各列信息说明如下:

  • UID 进程被该UID所拥有
  • PID 进程的标识号
  • PPID 进程的父进程的标识号
  • C CPU使用的资源百分比
  • STIME 进程开始的时间
  • TTY 该进程是在哪个终端机上面运行,若与终端机无关,则显示?,另 tty1-tty6是本机上面的登入者进程,若pts/0则表示为由网络连接进主机的进程
  • TIME 进程所使用的总的CPU时间

2.3 常用组合ps aux

ps aux

image-20221223002527781.png

输出各列信息说明如下:

  • %CPU 该进程使用掉的CPU资源百分比
  • %MEM 该进程所战胜的物理内存百分比
  • VSZ 该进程使用掉的虚拟内存 单位为Kbytes
  • RSS 该进程战胜的固定的内存量 单位为Kbytes
  • STAT 该进程目前的状态
    • R 正在运行或者是可以运行
    • S 正在中断睡眠中,可以由某些信号唤醒
    • D 不可中断睡眠
    • T 正在侦测或者是停止了
    • Z 已经终止,但是其父进程无法正常终止它,从而变成zombie进程的状态
    • + 前台进程
    • l 多线程进程
    • N 低优先级进程
    • < 高优先级进程
    • s 进程领导者
    • L 已将页面锁定到内存中

2.4 显示指定用户的相关进程信息

ps -u root

三、扩展知识

暂无

四、命令总结

  • 2022/12/22 只列用到较多的几种场景,再有用到的再补;这2天头疼,眼框疼,肌肉疼算阳吗,没吃药床上睡了两天感觉好了呢;回想这几天的行程绝对没有和人近距离接触过,坐过一趟火车,火车上接过一杯热水,车厢里也就4、5个人,怎么可能会被传染的呀。。。