Linux中的ps命令是Process Status的缩写。

      ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。

      (1)用法:

      用法:  ps  [选项参数]  [用户名](可选)

      (2)功能:

      功能:  用来显示当前进程的状态。

ps命令可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

      (3)选项参数:

1) -A                   显示所有的进程

2) -e                   显示所有的进程,与-A参数一样

3) -u                   显示指定用户的信息

4) -a                   显示所有终端机下执行的进程,除了阶段作业领导者之外。

5)  a                   显示现行终端机下的所有进程,包括其他用户的进程。

6) -H                  显示树状结构,表示程序间的相互关系。 -j或j:采用工作控制的格式显示程序状况。

  (4)实例:

1)[root@localhost sunjimeng]# ps -e|more -20          显示所有的进程

[root@localhost sunjimeng]# ps -e|more -
PID TTY TIME CMD
? :: systemd
? :: kthreadd
? :: ksoftirqd/
? :: kworker/:0H
? :: migration/
? :: rcu_bh
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/
? :: rcuob/

-A命令与-e命令相同,都可以显示所有进程

[root@localhost sunjimeng]# ps -A|more -
PID TTY TIME CMD
? :: systemd
? :: kthreadd
? :: ksoftirqd/
? :: kworker/:0H
? :: migration/
? :: rcu_bh
? :: rcuob/
? :: rcuob/
? :: rcuob/
--More--

2)[root@localhost sunjimeng]# ps -u root|more -10          显示指定用户的进程信息

[root@localhost sunjimeng]# ps -u root|more -
PID TTY TIME CMD
? :: systemd
? :: kthreadd
? :: ksoftirqd/
? :: kworker/:0H
? :: migration/
? :: rcu_bh
? :: rcuob/
? :: rcuob/
? :: rcuob/

3)[root@localhost sunjimeng]# ps a                  ps a命令与ps -a命令

[root@localhost sunjimeng]# ps a
PID TTY STAT TIME COMMAND
tty1 Ssl+ : /usr/bin/Xorg : -background none -verbose -auth /run/gdm/auth-for-gdm-8E54kT/database -seat seat0 -nolisten tcp
pts/ Ss : bash
pts/ S : su root
pts/ S : bash
pts/ R+ : ps a
[root@localhost sunjimeng]# ps -a
PID TTY TIME CMD
pts/ :: su
pts/ :: bash
pts/ :: ps

4)[root@localhost sunjimeng]# ps -ef|more -10            显示所有进程信息,连同命令行

[root@localhost sunjimeng]# ps -ef|more -
UID PID PPID C STIME TTY TIME CMD
root : ? :: /usr/lib/systemd/systemd --switched-root --system --deserialize
root : ? :: [kthreadd]
root : ? :: [ksoftirqd/]
root : ? :: [kworker/:0H]
root : ? :: [migration/]
root : ? :: [rcu_bh]
root : ? :: [rcuob/]
root : ? :: [rcuob/]
root : ? :: [rcuob/]
--More--

5)[root@localhost sunjimeng]# ps -ef|more -5            ps命令与grep命令结合起来查找指定的进程

[root@localhost sunjimeng]# ps -ef|more -
UID PID PPID C STIME TTY TIME CMD
root : ? :: /usr/lib/systemd/systemd --switched-root --system --deserialize
root : ? :: [kthreadd]
root : ? :: [ksoftirqd/]
root : ? :: [kworker/:0H]
[root@localhost sunjimeng]# ps -ef|grep kworker/:0H
root : ? :: [kworker/:0H]
root : pts/ :: grep --color=auto kworker/:0H

6)[root@localhost sunjimeng]# ps -l                 将目前属于您自己这次登入的 PID 与相关信息列示出来

[root@localhost sunjimeng]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
S - wait pts/ :: su
S - wait pts/ :: bash
R - - pts/ :: ps

说明:

  各相关信息的意义:

  F 代表这个程序的旗标 (flag), 4 代表使用者为 super user

  S 代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍

  UID 程序被该 UID 所拥有

  PID 就是这个程序的 ID !

  PPID 则是其上级父程序的ID

  C CPU 使用的资源百分比

  PRI 这个是 Priority (优先执行序) 的缩写

  NI 这个是 Nice 值

  ADDR 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"

  SZ 使用掉的内存大小

  WCHAN 目前这个程序是否正在运作当中,若为 - 表示正在运作

  TTY 登入者的终端机位置

  TIME 使用掉的 CPU 时间。

  CMD 所下达的指令为何

  在预设的情况下, ps 仅会列出与目前所在的 bash shell 有关的 PID 而已,所以, 当我使用 ps -l 的时候,只有三个 PID。

7)[root@localhost sunjimeng]# ps f                显示进程间的关系

UID         PID   PPID  C STIME TTY          TIME CMD
root : pts/ :: su root
root : pts/ :: bash
root : pts/ :: ps -f
[root@localhost sunjimeng]# ps f
PID TTY STAT TIME COMMAND
pts/ S : su root
pts/ S : \_ bash
pts/ R+ : \_ ps f
tty1 Ssl+ : /usr/bin/Xorg : -background none -verbose -auth /run/gdm/auth-for-gdm-8E54kT/database -seat seat0 -nolisten tcp
[root@localhost sunjimeng]#

8)root@localhost sunjimeng]# ps aux |more -10         列出目前所有的正在内存当中的程序

root@localhost sunjimeng]# ps aux |more -
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 0.0 0.3 ? Ss : : /usr/lib/systemd/systemd --switched-root --system --deserialize
root 0.0 0.0 ? S : : [kthreadd]
root 0.0 0.0 ? S : : [ksoftirqd/]
root 0.0 0.0 ? S< : : [kworker/:0H]
root 0.0 0.0 ? S : : [migration/]
root 0.0 0.0 ? S : : [rcu_bh]
root 0.0 0.0 ? S : : [rcuob/]
root 0.0 0.0 ? S : : [rcuob/]
root 0.0 0.0 ? S : : [rcuob/]    

说明:

USER:该 process 属于哪一个个使用者账号的

PID :该 process 的号码

%CPU:该 process 使用掉的 CPU 资源百分比

%MEM:该 process 所占用的物理内存百分比

VSZ :该 process 使用掉的虚拟内存量 (Kbytes)

RSS :该 process 占用的固定的内存量 (Kbytes)

TTY :该 process 是在那个终端机上面运作,若与终端机无关,则显示 ?,另外, tty1-tty6 是本机上面的登入者程序,若为 pts/0 等等的,则表示为由网络连接进主机的程序。

STAT:该程序目前的状态,主要的状态有

R :该程序目前正在运作,或者是可被运作

S :该程序目前正在睡眠当中 (可说是 idle 状态),但可被某些讯号 (signal) 唤醒。

T :该程序目前正在侦测或者是停止了

Z :该程序应该已经终止,但是其父程序却无法正常的终止他,造成 zombie (疆尸) 程序的状态

START:该 process 被触发启动的时间

TIME :该 process 实际使用 CPU 运作的时间

COMMAND:该程序的实际指令

9)[root@localhost sunjimeng]# ps -axjf|more -10              列出类似程序树的程序显示

[root@localhost sunjimeng]# ps -axjf|more -
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
? - S : [kthreadd]
? - S : \_ [ksoftirqd/]
? - S< : \_ [kworker/:0H]
? - S : \_ [migration/]
? - S : \_ [rcu_bh]
? - S : \_ [rcuob/]
? - S : \_ [rcuob/]
? - S : \_ [rcuob/]
? - S : \_ [rcuob/]

最新文章

  1. zookeeper的zoo.cfg的配置
  2. 数据获取以及处理Beta版本展示
  3. 回文串---吉哥系列故事——完美队形II
  4. BZOJ3834 : [Poi2014]Solar Panels
  5. 笔记:ASP.NET MVC安全
  6. iOS下使用sqlite3
  7. 配置iSCSI
  8. Five ways to maximize Java NIO and NIO.2--reference
  9. ISO7816协议的几个关键时间特性
  10. mysql 查询大量数据内存溢出
  11. sizeof用法
  12. 编译gRPC
  13. Azkaban 2.5.0 搭建和一些小问题
  14. 微信公众平台开发者中心服务器配置Token验证失败问题
  15. 用python-webdriver实现自动填表
  16. 基于Anaconda安装tensorflow-GPU和caffe-GPU
  17. ubuntu 16.04 下安装NVDIA的库(CUDA+CUDNN)
  18. Linux IPC基础(System V)
  19. long数值 转换为时间
  20. PostgreSQL数据库单机扩展为流复制

热门文章

  1. 【Mysql】 你会用 information_schema吗?
  2. appium for mac 安装与测试ios说明
  3. webcat——基于netty的http和websocket框架
  4. Mysql查询结果只有一条的情况下把值赋值给变量,再用if else 流程判断
  5. C# const和static readonly区别
  6. 动态添加ImageView 设置setPadding不起作用问题
  7. Allegro PCB查看VIA孔的pad信息
  8. java之JDK动态代理
  9. IIS7设置默认页
  10. WebSocket和SocketIO总结