ps命令常用选项参数详解

PS命令是什么

ps命令能够给出当前系统中进程的快照。它能捕获系统在某一时间的进程状态。如果想要不断更新查看这个状态,可以配合watch命令或使用top命令。
ps命令支持三种使用的语法格式

  1. UNIX 风格:选项可以组合在一起,并且选项前必须有"-"连字符。
  2. BSD 风格 :选项可以组合在一起,但是选项前不能有"-"连字符。
  3. GNU 风格 :长选项,选项前需要有两个"-"连字符。

ps命令基本选项及参数释义

a:显示现行终端机下的所有程序,包括其他用户的程序。
c:列出程序时,显示每个程序真正的指令名称,而不包含路径,选项或常驻服务的标示。
e:列出程序时,显示每个程序所使用的环境变量。
f:用ASCII字符显示树状结构,表达程序间的相互关系。
g:显示现行终端机下的所有程序,包括群组领导者的程序。
h:不显示标题列。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。
r:只列出现行终端机正在执行中的程序。
v:采用虚拟内存的格式显示程序状况
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
-c:显示CLS和PRI栏位。
-d:显示所有程序,但不包括阶段作业领导者的程序。
-e:显示所有程序。
-f:显示UID,PPIP,C与STIME栏位。
-H:显示树状结构,表示程序间的相互关系。
-u<用户识别码>:列出属于该用户的程序的状况,也可使用用户名称来指定。
-j:采用工作控制的格式显示程序状况
-l或l:采用详细的格式来显示程序状况。
-N:显示所有的程序,除了执行ps指令终端机下的程序之外。

使用基本的ps命令,在执行之后的结果如下

[[email protected] ~]# ps
   PID TTY          TIME CMD
 15422 pts/1    00:00:00 bash
 16511 pts/1    00:00:00 ps

结果会默认显示4列信息。

  • PID:运行命令的进程编号。
  • TTY:命令所运行的终端。tty1 - tty6 是本机登入者,pts/0等为网络连接主机的程序。
  • TIME:运行着改命令所占用的CUP处理时间。
  • CMD:该进程所运行的命令。

将目前属于自己本次登入的PID与相关信息列示出来

[[email protected] ~]# ps -l
F S   UID    PID   PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
4 S     0  15422  15406  0  80   0 - 30202 wait   pts/1    00:00:00 bash
0 R     0  16520  15422  0  80   0 - 37233 -      pts/1    00:00:00 ps
  • F:这个程序的旗标(flag)4,表示使用者为superuser。
  • S:这个程序的状态(STAT)
    R:正在运作或是被运作。
    S:正在睡眠中,可被讯号唤醒。
    T:正在侦测或者停止。
    Z:已经停止,但副程序无法正常终止。造成zombie(僵尸)程序状态
  • UID:痴行者身份
  • C:CPU使用资源百分比
  • PRI:进程的执行优先权(Priority),值越小越优先
  • NI:进程的nice值,其表示进程可被执行的优先级的修正数值。
  • ADDR:内核函数,指出改程序在内存的哪个部分。如果是执行的程序,则为"-"
  • SZ:使用的内存大小
  • WCHAN:目前这个程序是否正在运行,"-"表示正在运行。

列出目前所有正在内存当中的程序

[[email protected] ~]# ps -ax     0     0 ?        S    06:25   0:00 [scsi_eh_0]
   PID TTY      STAT   TIME COMMAND
     1 ?        Ss     0:15 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
     2 ?        S      0:00 [kthreadd]
     3 ?        S      0:01 [ksoftirqd/0]
     5 ?        S<     0:00 [kworker/0:0H]
     6 ?        S      0:04 [kworker/u256:0]
     7 ?        S      0:02 [migration/0]
     8 ?        S      0:00 [rcu_bh]
     9 ?        S      0:17 [rcu_sched]
    10 ?        S      0:00 [watchdog/0]

-USER:进程属于哪个使用者

  • VSZ:占用虚拟内存
  • RSS:占用固定内存
  • START:程序被触发启动的时间。
  • TIME:改程序实际使用CPU运作的时间。
  • COMMAND:改程序实际指令

常用选项组合

查看全部进程ps -ax

[[email protected] ~]# ps -ax
   PID TTY      STAT   TIME COMMAND
     1 ?        Ss     0:15 /usr/lib/systemd/systemd --switched-root --system --d
     2 ?        S      0:00 [kthreadd]
     3 ?        S      0:01 [ksoftirqd/0]
     5 ?        S<     0:00 [kworker/0:0H]
     6 ?        S      0:04 [kworker/u256:0]
     7 ?        S      0:02 [migration/0]
     8 ?        S      0:00 [rcu_bh]

根据用户过滤进程ps -u root

[[email protected] ~]# ps -u root
   PID TTY          TIME CMD
     1 ?        00:00:15 systemd
     2 ?        00:00:00 kthreadd
     3 ?        00:00:01 ksoftirqd/0
     5 ?        00:00:00 kworker/0:0H
     6 ?        00:00:04 kworker/u256:0
     7 ?        00:00:02 migration/0
     8 ?        00:00:00 rcu_bh

通过CPU和内存过滤进程ps -aux

[[email protected] ~]# ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 193628  6800 ?        Ss   06:25   0:15 /usr/lib/system
root          2  0.0  0.0      0     0 ?        S    06:25   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    06:25   0:01 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   06:25   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    06:25   0:04 [kworker/u256:0
root          7  0.0  0.0      0     0 ?        S    06:25   0:02 [migration/0]
root          8  0.0  0.0      0     0 ?        S    06:25   0:00 [rcu_bh]
root          9  0.0  0.0      0     0 ?        S    06:25   0:17 [rcu_sched]

根据线程来过滤进程ps -L 3223\

[[email protected] ~]# ps -L 3223
   PID    LWP TTY      STAT   TIME COMMAND
  3223   3223 ?        Sl     0:00 /usr/libexec/ibus-x11 --kill-daemon
  3223   3229 ?        Sl     0:00 /usr/libexec/ibus-x11 --kill-daemon
  3223   3230 ?        Sl     0:00 /usr/libexec/ibus-x11 --kill-daemon

树形显示进程ps -axjf``pstree\

[[email protected] ~]# ps -afjx
  PPID    PID   PGID    SID TTY       TPGID STAT   UID   TIME COMMAND
     0      2      0      0 ?            -1 S        0   0:00 [kthreadd]
     2      3      0      0 ?            -1 S        0   0:01  \_ [ksoftirqd/0]
     2      5      0      0 ?            -1 S<       0   0:00  \_ [kworker/0:0H]
     2      6      0      0 ?            -1 S        0   0:04  \_ [kworker/u256:0]
     2      7      0      0 ?            -1 S        0   0:02  \_ [migration/0]
     2      8      0      0 ?            -1 S        0   0:00  \_ [rcu_bh]
     2      9      0      0 ?            -1 S        0   0:17  \_ [rcu_sched]
     2     10      0      0 ?            -1 S        0   0:00  \_ [watchdog/0]
     2     11      0      0 ?            -1 S        0   0:00  \_ [watchdog/1]
     2     12      0      0 ?            -1 S        0   0:01  \_ [migration/1]
     2     13      0      0 ?            -1 S        0   0:02  \_ [ksoftirqd/1]
     2     16      0      0 ?            -1 S        0   0:00  \_ [watchdog/2]
     2     17      0      0 ?            -1 S        0   0:00  \_ [migration/2]
     2     18      0      0 ?            -1 S        0   0:01  \_ [ksoftirqd/2]
[[email protected] ~]# pstree
systemd─┬─ModemManager───2*[{ModemManager}]
        ├─NetworkManager─┬─2*[dhclient]
        │                └─2*[{NetworkManager}]
        ├─2*[abrt-watch-log]
        ├─abrtd
        ├─accounts-daemon───2*[{accounts-daemon}]
        ├─alsactl
        ├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}
        │                 └─3*[{at-spi-bus-laun}]
        ├─at-spi2-registr───2*[{at-spi2-registr}]
        ├─atd
        ├─auditd─┬─audispd─┬─sedispatch
        │        │         └─{audispd}
        │        └─{auditd}

手工筛选信息ps -eo pid,user,args

[[email protected] ~]# ps -eo pid,user,args
   PID USER     COMMAND
     1 root     /usr/lib/systemd/systemd --switched-root --system --deserialize 21
     2 root     [kthreadd]
     3 root     [ksoftirqd/0]
     5 root     [kworker/0:0H]
     6 root     [kworker/u256:0]
     7 root     [migration/0]
     8 root     [rcu_bh]
     9 root     [rcu_sched]
    10 root     [watchdog/0]
    11 root     [watchdog/1]

使用watch实时监控进程状态watch -n1 ‘ps -aux‘

[[email protected] ~]# watch -n1 ‘ps -aux‘
Every 1.0s: ps -aux                                                                            Sun Jul  9 20:20:39 2017

USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.0  0.3 193628  6800 ?        Ss   06:25   0:15 /usr/lib/systemd/systemd --switched-root --system --d
root          2  0.0  0.0      0     0 ?        S    06:25   0:00 [kthreadd]
root          3  0.0  0.0      0     0 ?        S    06:25   0:01 [ksoftirqd/0]
root          5  0.0  0.0      0     0 ?        S<   06:25   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    06:25   0:04 [kworker/u256:0]
root          7  0.0  0.0      0     0 ?        S    06:25   0:02 [migration/0]
root          8  0.0  0.0      0     0 ?        S    06:25   0:00 [rcu_bh]
时间: 2024-12-22 23:13:06

ps命令常用选项参数详解的相关文章

wget命令企业级应用参数详解

wget -O /etc/yum.repos.d/CentOS-Base.repo --spider: 爬虫,检查网站是不是好的 -T: 指定超时时间 --tries=2  指定重试的次数 -q   关闭输出 ps查看进程 locate搜索 export定义环境变量 netstat查看网络信息 ifconfig查ip source是什么生效 visudo编辑sudo配置文件==(vi /etc/sudoers) sodu配置文件授权后,执行命令的时候需要命令前带sudo

ps命令各个内容信息详解

USER    用户名 PID    进程ID(Process ID) %CPU    进程的cpu占用率 %MEM    进程的内存占用率 VSZ    进程所使用的虚存的大小(Virtual Size) RSS    进程使用的驻留集大小或者是实际内存的大小,Kbytes字节. TTY    与进程关联的终端(tty) STAT    进程的状态:进程状态使用字符表示的(STAT的状态码) TIME    进程使用的总cpu时间 COMMAND    正在执行的命令行命令 USER    用

Angular ui-router的常用配置参数详解

一.$urlRouterProvider服务 $urlRouterProvidfer负责监听$location,当$location变化时,$urlRouterProvider将在规则列表中查找匹配的值. 1.$location是对window.location的封装. 2.otherwise(rule)定义当请求无效时的路径跳转 二.$state服务 $state服务是负责代表状态以及提供状态之间的装换,它还能提供你当前以及上一个的状态. 1.方法:go(to,params,options)

Linux Crontab [定时任务] 命令与参数详解

crontab命令常用于Unix和Linux系统中,用于设置周期性被执行的指令. 该命令从标准输入设备读取指令,并将其存放于crontab文件中,以供读取和执行. 通常,crontab储存的指令被守护进程激活,crond服务常常在后台运行. 通过设定的时间来检查是否有作业需要执行,这类作业一般称为:cron jobs. crontab 文件 crontab文件包含送交cron守护进程的一系列作业和指令. 每个用户可以拥有自己的crontab文件,同时操作系统保存一个针对整个系统的crontab文

Linux字符集和系统语言设置-LANG,locale,LC_ALL,POSIX等命令及参数详解

博文说明[前言]: 本文将通过个人口吻介绍Linux字符集和系统语言设置,包括LANG,locale,LC_ALL,POSIX等命令及参数详解的相关知识,在目前时间点[2017年6月21号]下,所掌握的技术水平有限,可能会存在不少知识理解不够深入或全面,望大家指出问题共同交流,在后续工作及学习中如发现本文内容与实际情况有所偏差,将会完善该博文内容. 本文参考文献引用链接: 1.http://blog.csdn.net/z4213489/article/details/7937894[好文,必看]

VLC命令行参数详解

VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify multiple streams on the commandline. They will be enqueued in the playlist.The first item specified will be played first. Options-styles:  --option  A gl

NFS和mount常用参数详解 本文目录

NFS和mount常用参数详解 本文目录 NFS权限参数配置 mount挂载参数 原始驱动程序的挂载选项. 新驱动程序的挂载选项. 怎样改变已经挂载的NTFS卷的权限? 怎样自动挂载一个NTFS卷? NFS权限参数配置 ro 只读访问 rw 读写访问 sync 所有数据在请求时写入共享 async NFS在写入数据前可以相应请求 secure NFS通过1024以下的安全TCP/IP端口发送 insecure NFS通过1024以上的端口发送 wdelay 如果多个用户要写入NFS目录,则归组写

find常用参数详解

find常用参数详解 作者:尹正杰 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的命令find,也是我们要学些的命令哟 再Linux操作系统的世界里,有各个不同的发行版本,redhat,centos,ubantu,suse,debian,fedora等等,我们需要在这些不通的操作系统中找一个文件,那么 我们开始今天的命令吧! 在学find命令之前,我们一起了解一下模糊匹配的命令locate,locate指令和find找寻档案的功能

Samba配置文件常用参数详解

Samba配置文件常用参数详解 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下. smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文件中一行一个段名和参数,段名和参数名不分大小写. 除了[global]段外,所有的段都可以看作是一个共享资源.段名是该共享资源的名字,段里的参数是该共享资源的属性. Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确.使用testparm