linux 进程状态'',linux ps命令用于查看系统中的进程状态

功能描述

使用ps命令可以查看进程信息,可以正确有哪些进程正在运行及进程运行的状态、进程是否结束、进程有没有僵死,以及哪些进程占用了过多的资源等。

命令语法

ps [选项]

选项含义

ps命令的参数以及作用

选项

含义

-A

显示所有的进程

-N

选择除了那些符合指定条件的所有进程

-a

显示排除会话领导者和进程不与终端相关联的所有进程

-d

显示所有进程(排除会话领导者)

-e

显示所有的进程

-T

显示当前终端下的所有进程

a

所有的W/tty,包括其他用户

r

显示运行中的进程

x

处理w/o控制的ttys

-c

为-l选项显示不同的调度信息

c

列出进程时,显示每个进程真正的命令名称,而不包含路径、参数或常驻服务的标示

-C

按命令显示进程

-G

按真实的组群GID或者组群名显示进程

-U

按真实的用户UID或者用户名显示进程

-g

选择会话或有效的组名显示进程

-p

按进程ID显示进程

-s

显示指定会话ID的进程

-t

按终端显示进程

-u

按有效的用户UID显示进程

U

显示属于该用户的进程

t

按终端显示进程

-f

显示UID、PPID、C和STIME字段

-j或j

采用作业控制的格式显示进程

s

采用进程信号的格式显示进程

v

以虚拟内存的格式显示进程

-l或l

采用详细的格式显示进程

u

以面向用户的格式显示进程

P

显示指定进程号的进程,效果和-p选项相同,只在列表格式方面不同

L

列出输出字段的相关信息

f

用ASCII字符显示树状结构,表达进程间的相互关系

r

只显示正在运行的进程

e

列出进程时,显示每个进程所使用的环境变量

-w或w

按宽格式显示输出

-u

打印用户格式,显示用户名和进程的起始时间

-x

显示不带控制终端的进程

-t

显示指定终端编号的进程

n

以数字来表示USER和WCHAN字段

h

不显示标题列

-H

显示树状结构,表示进程间的相互关系

-m或m

在进程后面显示线程

-y

配合-l选项使用时,不显示F(flag)输出字段,并以RSS字段代ADDR字段

Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死于停止,其各自含义如下。

R(运行):进程正在运行或在运行队列中等待。

S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。

D(不可中断):进程不响应系统异步信号,即使用kill命令也不能将其中断。

Z(僵死):进程已经终止,但进程描述符依然存在,直到父进程调用wait4()系统函数后将进程释放。

T(停止):进程收到停止信号后停止运行。

注意:

如前面所提到的,在Linux系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后保留一个-(减号)即可。另外PS命令可允许参数不加减号(-),因此可直接写成ps aux 的样子。

输出字段

字段描述

USER

进程所有者的用户名

PID

进程号,可以用来惟一标识该进程

%CPU

进程自最近一次刷新以来所占用的CPU时间和总时间的百分比

%MEM

进程使用内存的百分比

VSZ

进程使用的虚拟内存大小,以KB为单位

RSS

进程占用的物理内存的总数量,以KB为单位

TTY

进程相关的终端名

STAT

进程的状态

R:表示运行或准备运行

S:表示睡眠状态

I:表示空闲

Z:表示冻结

D:表示不间断睡眠

W:表示进程没有驻留页

T:表示停止或跟踪

START

进程开始运行时间

TIME

进程使用的总CPU时间

COMMAND

被执行的命令行

显示所有的进程

[root@localhost ~]# ps -e

PID TTY          TIME CMD

1 ?        00:02:32 systemd

2 ?        00:00:00 kthreadd

3 ?        00:00:15 ksoftirqd/0

5 ?        00:00:00 kworker/0:0H

7 ?        00:00:04 migration/0

8 ?        00:00:00 rcu_bh

9 ?        00:03:28 rcu_sched

10 ?        00:00:11 watchdog/0

11 ?        00:00:13 watchdog/1

12 ?        00:00:20 migration/1

13 ?        00:00:11 ksoftirqd/1

15 ?        00:00:00 kworker/1:0H

17 ?        00:00:00 kdevtmpfs

18 ?        00:00:00 netns

19 ?        00:00:00 khungtaskd

20 ?        00:00:00 writeback

21 ?        00:00:00 kintegrityd

22 ?        00:00:00 bioset

23 ?        00:00:00 kblockd

24 ?        00:00:00 md

30 ?        00:00:16 kswapd0

31 ?        00:00:00 ksmd

32 ?        00:00:17 khugepaged

显示所有不带控制台终端的进程,并显示用户名和进程的起始时间

[root@localhost ~]# ps -aux

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

root         1  0.0  0.2 193700  4620 ?        Ss   2月18   2:32 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

root         2  0.0  0.0      0     0 ?        S    2月18   0:00 [kthreadd]

root         3  0.0  0.0      0     0 ?        S    2月18   0:15 [ksoftirqd/0]

root         5  0.0  0.0      0     0 ?        S<   2月18   0:00 [kworker/0:0H]

root         7  0.0  0.0      0     0 ?        S    2月18   0:04 [migration/0]

root         8  0.0  0.0      0     0 ?        S    2月18   0:00 [rcu_bh]

root         9  0.0  0.0      0     0 ?        S    2月18   3:28 [rcu_sched]

root        10  0.0  0.0      0     0 ?        S    2月18   0:11 [watchdog/0]

root        11  0.0  0.0      0     0 ?        S    2月18   0:13 [watchdog/1]

root        12  0.0  0.0      0     0 ?        S    2月18   0:20 [migration/1]

root        13  0.0  0.0      0     0 ?        S    2月18   0:11 [ksoftirqd/1]

root        15  0.0  0.0      0     0 ?        S<   2月18   0:00 [kworker/1:0H]

root        17  0.0  0.0      0     0 ?        S    2月18   0:00 [kdevtmpfs]

root        18  0.0  0.0      0     0 ?        S<   2月18   0:00 [netns]

root        19  0.0  0.0      0     0 ?        S    2月18   0:00 [khungtaskd]

root        20  0.0  0.0      0     0 ?        S<   2月18   0:00 [writeback]

root        21  0.0  0.0      0     0 ?        S<   2月18   0:00 [kintegrityd]

root        22  0.0  0.0      0     0 ?        S<   2月18   0:00 [bioset]

查看crond进程是否正在运行

[root@localhost ~]# ps -ef|grep crond

root     32256 23644  0 16:15 pts/0    00:00:00 grep --color=auto crond

root     39059     1  0 2月22 ?       00:00:01 /usr/sbin/crond -n

//crond进程正在运行,其进程号为39059

显示当前系统进程

[root@localhost ~]# ps

PID TTY          TIME CMD

23644 pts/0    00:00:00 bash

32359 pts/0    00:00:00 ps

在显示进程的时候显示用户名和进程的起始时间。

[root@localhost ~]# ps -u

USER       PID  %CPU  %MEM    VSZ        RSS TTY      STAT  START   TIME  COMMAND

root      11359   0.0     0.0          115388  1236 tty1     Ss+   2月18    0:00    -bash

root      23644   0.0     0.1          115444  2152 pts/0    Ss     13:23    0:00    -bash

root      32398   0.0     0.0          151112  1840 pts/0    R+    16:17    0:00     ps -u

显示root用户的进程

[root@localhost ~]# ps -u root

PID TTY          TIME CMD

1 ?        00:02:32 systemd

2 ?        00:00:00 kthreadd

3 ?        00:00:15 ksoftirqd/0

5 ?        00:00:00 kworker/0:0H

7 ?        00:00:04 migration/0

8 ?        00:00:00 rcu_bh

9 ?        00:03:28 rcu_sched

10 ?        00:00:11 watchdog/0

11 ?        00:00:13 watchdog/1

12 ?        00:00:20 migration/1

13 ?        00:00:11 ksoftirqd/1

15 ?        00:00:00 kworker/1:0H

17 ?        00:00:00 kdevtmpfs

18 ?        00:00:00 netns

19 ?        00:00:00 khungtaskd

显示tty1终端下的进程

[root@localhost ~]# ps -t tty1

显示进程号为39059的进程

[root@localhost ~]# ps -p 39059

PID TTY          TIME CMD

39059 ?        00:00:01 crond

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值