ps命令

  用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片。如果想要动态地显示进程的信息,就需要使用top命令,该命令类似于把手机切换成录像模式。
因为ps命令的功能实在是太多了,26个字母已经满足不了,因此在ps命令的参数中有类似于-a与a这2种写法,这2种写法的功能是不一样的。
参数的格式具体如下。
  UNIX格式:一个“-”开头。
  BSD格式:没有“-”开头。
  GNU长格式:两个“-”开头。

ps命令的参数选项及说明

  1. -a  显示所有终端下执行的进程
  2. a  显示与终端相关的所有进程,包含每个进程的完整路径
  3. x  显示与终端无关的所有进程
  4. u  显示进程的用户信息
  5. -u  显示指定用户相关的进程信息
  6. -e  显示所有进程
  7. -f   额外显示UIDPPIDCSTIME栏位
  8. f   显示进程树
  9. -H  显示进程树
  10. -l   以详细的格式来显示进程的状况
  11. -o  自定义输出指定的字段,以退号分隔
  12. -sot key key表示为指定字段排序,默认升序,+key升序,key降序

ps命令不接任何参数

  1. [root@doit ~]# ps
  2. PID TTY TIME CMD
  3. 9940 pts/0 00:00:00 bash
  4. 25146 pts/0 00:00:00 ps
  5.  
  6. 其输出结果中的各项说明如下。
  7. PID是进程的标识号。
  8. TTY是进程所属的终端控制台。
  9. TIME列是进程所使用的总的CPU时间。
  10. CMD列是正在执行的命令行。

ps命令常用操作组合(命令1)

  1. [root@doit ~]# ps -ef
  2. UID PID PPID C STIME TTY TIME CMD
  3. root 1 0 0 Apr22 ? 00:03:35 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  4. root 2 0 0 Apr22 ? 00:00:00 [kthreadd]
  5. root 3 2 0 Apr22 ? 00:00:00 [rcu_gp]
  6. root 4 2 0 Apr22 ? 00:00:00 [rcu_par_gp]
  7. root 6 2 0 Apr22 ? 00:00:00 [kworker/0:0H-kb]
  8. root 8 2 0 Apr22 ? 00:00:00 [mm_percpu_wq]
  9. root 9 2 0 Apr22 ? 00:00:00 [ksoftirqd/0]
  10. root 10 2 0 Apr22 ? 00:01:28 [rcu_sched]
  11. root 11 2 0 Apr22 ? 00:00:03 [migration/0]
  12. root 13 2 0 Apr22 ? 00:00:00 [cpuhp/0]
  13. root 14 2 0 Apr22 ? 00:00:00 [cpuhp/1]
  14. root 15 2 0 Apr22 ? 00:00:02 [migration/1]
  15. root 16 2 0 Apr22 ? 00:00:05 [ksoftirqd/1]
  16.  
  17. 输出信息中各列的说明如下。
  18. UID:进程被该UID所拥有。
  19. PID:进程的标识号。
  20. PPID:进程的父进程的标识号。
  21. C:CPU使用的资源百分比。
  22. STIME:进程开始的时间。
  23. TTY:该进程是在哪个终端机上面运作,若与终端机无关,则显示“?”,另外,ttyl-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
  24. TIME:进程所使用的总的CPU时间。
  25. CMD:正在执行的命令行。
  26. 下面是psgrep的组合用法,用于查找特定进程,比如查找sshd进程等。
  27. [root@doit ~]# ps -ef|grep ssh
  28. root 3503 1 0 Apr22 ? 00:00:00 /usr/sbin/sshd -D
  29. root 9935 3503 0 17:04 ? 00:00:00 sshd: root@pts/0
  30. root 25345 9940 0 22:18 pts/0 00:00:00 grep --color=auto ssh

ps命令常用操作组合(命令2)

  1. 这里使用BSD语法格式显示每个进程信息。
  2. [root@doit ~]# ps aux # BSD格式参数,使用a选项和x选项显示所有进程,使用u选项显示进程的用户信息。
  3. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
  4. root 1 0.0 0.2 191024 5320 ? Ss Apr22 3:35 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
  5. root 2 0.0 0.0 0 0 ? S Apr22 0:00 [kthreadd]
  6. root 3 0.0 0.0 0 0 ? I< Apr22 0:00 [rcu_gp]
  7. root 4 0.0 0.0 0 0 ? I< Apr22 0:00 [rcu_par_gp]
  8. root 6 0.0 0.0 0 0 ? I< Apr22 0:00 [kworker/0:0H-kb]
  9. root 8 0.0 0.0 0 0 ? I< Apr22 0:00 [mm_percpu_wq]
  10. root 9 0.0 0.0 0 0 ? S Apr22 0:00 [ksoftirqd/0]
  11. root 10 0.0 0.0 0 0 ? I Apr22 1:28 [rcu_sched]
  12. root 11 0.0 0.0 0 0 ? S Apr22 0:03 [migration/0]
  13. root 13 0.0 0.0 0 0 ? S Apr22 0:00 [cpuhp/0]
  14. root 14 0.0 0.0 0 0 ? S Apr22 0:00 [cpuhp/1]
  15. root 15 0.0 0.0 0 0 ? S Apr22 0:02 [migration/1]
  16. root 16 0.0 0.0 0 0 ? S Apr22 0:05 [ksoftirqd/1]
  17. root 18 0.0 0.0 0 0 ? I< Apr22 0:00 [kworker/1:0H-kb]
  18. root 19 0.0 0.0 0 0 ? S Apr22 0:00 [kdevtmpfs]
  19. root 20 0.0 0.0 0 0 ? I< Apr22 0:00 [netns]
  20. root 21 0.0 0.0 0 0 ? S Apr22 0:00 [kauditd]
  21. root 22 0.0 0.0 0 0 ? S Apr22 0:00 [khungtaskd]
  22. root 23 0.0 0.0 0 0 ? S Apr22 0:00 [oom_reaper]
  23.  
  24. 输出信息中各列的说明如下。
  25. USER:该进程属于的用户。
  26. PID:该进程的进程号。
  27. %CPU:该进程使用掉的CPU资源百分比。
  28. %MEM:该进程所占用的物理内存百分比。
  29. VSZ:该进程使用掉的虚拟内存量(单位为Kbytes)。
  30. RSS:该进程占用的固定的内存量(单位为Kbytes)。
  31. TTY:该进程是在哪个终端机上面运作的,若与终端机无关,则显示“?”,另外,ttyl-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的
  32. 进程。
  33. STAT:该进程目前的状态,主要的状态包括如下几种。
  34.   R:正在运行,或者是可以运行。
  35.   S:正在中断睡眠中,可以由某些信号(signal)唤醒。
  36. D:不可中断睡眠。
  37. T:正在侦测或者是停止了。
  38.   Z:已经终止,但是其父进程无法正常终止它,从而变成zombie(僵尸)进程的状态。
  39. +:前台进程。
  40. l:多线程进程。
  41. N:低优先级进程。
  42. <:高优先级进程。
  43. s:进程领导者。
  44. L:已将页面锁定到内存中。
  45. START:该进程被触发启动的时间。
  46. TIME:该进程实际使用CPU运作的时间。
  47. COMMAND:该进程的实际命令。

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

  1. [root@cs6 ~]# ps -u root
  2. PID TTY TIME CMD
  3. 1 ? 00:00:01 init
  4. 2 ? 00:00:00 kthreadd
  5. 3 ? 00:00:00 migration/0
  6. 4 ? 00:00:00 ksoftirqd/0
  7. 5 ? 00:00:00 stopper/0
  8. 6 ? 00:00:00 watchdog/0
  9. 7 ? 00:00:00 migration/1
  10. 8 ? 00:00:00 stopper/1
  11. 9 ? 00:00:00 ksoftirqd/1
  12. 10 ? 00:00:00 watchdog/1
  13.  
  14. [root@cs6 ~]# ps -l #<==UNIX格式参数,使用参数-l以详细的格式显示进程的状况。
  15. F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
  16. 4 S 0 1797 1793 0 80 0 - 27099 do_wai pts/1 00:00:00 bash
  17. 4 R 0 1934 1797 2 80 0 - 27034 - pts/1 00:00:00 ps
  18.  
  19. 输出信息中各列的说明如下。
  20. F:代表这个进程的标志(flag),4代表使用者为super user
  21. S:代表这个进程的状态(STAT),前面已经讲解过。
  22. UID:进程被该UID所拥有。
  23. PID:进程的标识号。
  24. PPID:父进程的ID
  25. C:CPU使用的资源百分比。
  26. PRI:Priority(优先执行序)的缩写。
  27. NI:Nice值。
  28. ADDR:指出该进程在内存的哪个部分。如果是个running的进程,则一般是“-”。
  29. SZ:使用掉的内存大小。
  30. WCHAN:目前这个进程是否正在运作当中,若为“-”则表示正在运作。
  31. TTY:该进程是在哪个终端机上面运作的,若与终端机无关,则显示“?”,另外,ttyl-tty6是本机上面的登入者进程,若为pts/0等,则表示为由网络连接进主机的进程。
  32. TIME:该进程实际使用CPU运作的时间。
  33. CMD:该进程的实际命令。

显示进程树

  1. [root@cs6 ~]# ps -eH
  2. PID TTY TIME CMD
  3. 2 ? 00:00:00 kthreadd
  4. 3 ? 00:00:00 migration/0
  5. 4 ? 00:00:00 ksoftirqd/0
  6. 5 ? 00:00:00 stopper/0
  7.  
  8. [root@cs6 ~]# ps axf
  9. PID TTY STAT TIME COMMAND
  10. 2 ? S 0:00 [kthreadd]
  11. 3 ? S 0:00 _ [migration/0]
  12. 4 ? S 0:00 _ [ksoftirqd/0]
  13. 519 ? S<s 0:00 /sbin/udevd -d
  14. 1481 ? S< 0:00 _ /sbin/udevd -d
  15. 1482 ? S< 0:00 _ /sbin/udevd -d
  16. 1268 ? S<sl 0:00 auditd
  17. 1291 ? Sl 0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
  18. 1357 ? Ss 0:00 /usr/sbin/sshd
  19. 1793 ? Ss 0:00 _ sshd: root@pts/1
  20. 1797 pts/1 Ss 0:00 | _ -bash
  21. 1938 pts/1 R+ 0:00 | _ ps axf
  22. 1826 ? Ss 0:00 _ sshd: root@pts/0
  23. 1830 pts/0 Ss+ 0:00 _ -bash
  24. 1436 ? Ss 0:00 /usr/libexec/postfix/master
  25. 1455 ? S 0:00 _ qmgr -l -t fifo -u
  26. 1880 ? S 0:00 _ pickup -l -t fifo -u
  27. 1448 ? Ss 0:01 crond

输出指定的字段。

(1)AIX格式:ps -eo "%p %y %x %c”
语法说明:-e是显示所有进程,-o表示可以自定义输出指定的字段,以逗号分隔,其支持的字段见下面的代码。

(2)标准格式:ps-eo pid,user,args--sort pid

其支持的字段比较多,请大家查询man ps并搜索 STANDARD FORMAT SPECIFIERS来了解。

  1. [root@cs6 ~]# ps -o pid,ppid,pgrp,session,tpgid,comm
  2. PID PPID PGRP SESS TPGID COMMAND
  3. 1797 1793 1797 1797 1949 bash
  4. 1949 1797 1949 1797 1949 ps

查看进程并按vsz列从大到小排列,--sort vsz或--sort +vs2表示从小到大升序排列,--Sort
-vsz表示从大到小降序排列。

  1. [root@cs6 ~]# ps -eo "%C : %p : %z : %a" --sort -vsz
  2. %CPU : PID : VSZ : COMMAND
  3. 0.0 : 1291 : 255424 : /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
  4. 0.0 : 1448 : 116880 : crond
  5. 0.0 : 1797 : 108396 : -bash
  6. 0.0 : 1830 : 108316 : -bash
  7. 0.0 : 1951 : 108240 : ps -eo %C : %p : %z : %a --sort -vsz
  8. 0.0 : 1793 : 102132 : sshd: root@pts/1
  9. 0.0 : 1826 : 102132 : sshd: root@pts/0
  10. 0.0 : 1455 : 81260 : qmgr -l -t fifo -u
  11. 0.0 : 1880 : 81092 : pickup -l -t fifo -u
  12. 0.0 : 1436 : 81012 : /usr/libexec/postfix/master
  13. 0.0 : 1357 : 66288 : /usr/sbin/sshd
  14. 0.0 : 1268 : 29764 : auditd
  15. 0.0 : 1 : 19232 : /sbin/init
  16. 0.0 : 1481 : 12376 : /sbin/udevd -d
  17. 0.0 : 1482 : 12376 : /sbin/udevd -d
  18. 0.0 : 519 : 11300 : /sbin/udevd -d
  19. 0.0 : 1463 : 4060 : /sbin/mingetty /dev/tty1
  20. 0.0 : 1465 : 4060 : /sbin/mingetty /dev/tty2
  21. 0.0 : 1467 : 4060 : /sbin/mingetty /dev/tty3
  22. 0.0 : 1469 : 4060 : /sbin/mingetty /dev/tty4
  23. 0.0 : 1471 : 4060 : /sbin/mingetty /dev/tty5
  24. 0.0 : 1473 : 4060 : /sbin/mingetty /dev/tty6

查看某个进程在哪个CPU上运行:

  1. [root@cs6 ~]# ps -eo pid,args,psr
  2. PID COMMAND PSR
  3. 1 /sbin/init 0
  4. 2 [kthreadd] 0
  5. 3 [migration/0] 0
  6. 4 [ksoftirqd/0] 0
  7. 5 [stopper/0] 0
  8. 6 [watchdog/0] 0
  9. 7 [migration/1] 1
  10. 8 [stopper/1] 1
  11. 9 [ksoftirqd/1] 1
  12. 10 [watchdog/1] 1
  13. 11 [events/0] 0
  14. 12 [events/1] 1
  15. 13 [events/0] 0
  16. 14 [events/1] 1
  17. 15 [events_long/0] 0
  18. 16 [events_long/1] 1

9.1 ps:查看进程的更多相关文章

  1. linux ps查看进程命令

    linux ps查看进程命令ps命令作用:将某个时间点的程序运作情况撷取下来 实例: [root@linux ~]# ps aux [root@linux ~]# ps -lA [root@linux ...

  2. 【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

  3. linux ps查看进程命令详解

    http://linux.net527.cn/Linuxwendang/xitongguanliyuan/39094.htmlLinux操作系统PS命令详细解析 要对系统中进程进行监测控制,用 ps ...

  4. Linux常用指令---ps(查看进程)

    Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信 ...

  5. ps查看进程

    ps:要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束. ...

  6. Linux:PS查看进程信息,和查看tomcat内存等信息

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/fly910905/article/deta ...

  7. Linux ps 查看进程

    [root@wang /]# ps aux ps -elf ^C [root@wang /]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIM ...

  8. top,ps查看进程使用内存情况

    ps -e -o 'pid,comm,args,pcpu,vsz,stime,user,uid' |grep chrome|grep -v grepwatch 'ps -e -o 'pid,comm, ...

  9. Linux 查看进程和删除进程

    1. 在 LINUX 命令平台输入 1-2 个字符后按 Tab 键会自动补全后面的部分(前提是要有这个东西,例如在装了 tomcat 的前提下, 输入 tomcat 的 to 按 tab).2. ps ...

随机推荐

  1. 恒骊学堂的JAVA初步学习总纲--转载

  2. TEX Quotes UVA-272

    ​ TEX is a typesetting language developed by Donald Knuth. It takes source text together with a few ...

  3. JAVAEE_03_HTTP

    HTTP\HTTPS\TCP HTTP协议 什么是HTTP协议 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wi ...

  4. 开源Influxdb2高性能客户端

    前言 最近我在了解时序数据库Influxdb 2.x版本,体验一翻之后,感觉官方的出品的.net客户端还有很多优化的地方,于是闭关几天,不吃不喝,将老夫多年练就的高性能网络通讯与高性能Buffer操作 ...

  5. Jsoup-基于Java实现网络爬虫-爬取笔趣阁小说

    注意!仅供学习交流使用,请勿用在歪门邪道的地方!技术只是工具!关键在于用途! 今天接触了一款有意思的框架,作用是网络爬虫,他可以像操作JS一样对网页内容进行提取 初体验Jsoup <!-- Ma ...

  6. 1.6.1- HTML中ul元素无序列表的使用

    无序列表的各个列表项之间没有顺序级别之分,是并列的,语法如下: <ul> <li>列表项1</li> <li>列表项2</li> <l ...

  7. Windows远程时无法复制文件--杀进程rdpclip.exe,然后再启动

    1.远程登陆到主机上 2.任务管理器杀进程rdpclip.exe 3.[开始],搜索rdpclip.exe,点击运行 此时重新复制文件,可以跨主机复制啦 原以为是公司网络限制,现在看来还是没那么先进嘛

  8. 一个DDOS病毒的分析(二)

    一.基本信息 样本名称:hra33.dll或者lpk.dll 样本大小: 66560 字节 文件类型:Win32的dll文件 病毒名称:Dropped:Generic.ServStart.A3D47B ...

  9. CString,string,char数组的转换

    来源:http://ticktick.blog.51cto.com/823160/317550 //----------------ANSI字符串转换为UNICODE字符串-------------- ...

  10. POJ3228二分最大流

    题意:       有n个点,每个点有两个权值,金子数量还有仓库容量,金子可以存在自己的仓库里或者是别的仓库里,仓库和仓库之间有距离,问所有金子都必须存到库里最大距离的最小是多少? 思路:       ...