一点一滴学Linux

    返回首页    发表留言
本文作者:李德强
          第四节 进程相关命令
 
 

一、ps

        ps命令的功能是按不同的方式显示系统当前的进程情况。它有很多的参数,功能也非常强大:

-A 显示所有进程(等价于-e)。

-a 显示一个终端的所有进程,除了会话引线。

-N 忽略选择。

-d 显示所有进程,但省略所有的会话引线。

-x 显示没有控制终端的进程,同时显示各个命令的具体路径。

-p pid 进程使用cpu的时间。

-u uid or username 选择有效的用户id或者是用户名。

-g gid or groupname 显示组的所有进程。

U username 显示该用户下的所有进程,且显示各个命令的详细路径。

-f 全部列出,通常和其他选项联用。

-l 长格式。

-j 作业格式。

-o 用户自定义格式。

v 以虚拟存储器格式显示。

s 以信号格式显示。

-m 显示所有的线程。

-H 显示进程的层次。

e 命令之后显示环境。

h 不显示第一行。

        一般情况下常用的ps参数组合-aux如下:

ps -aux
root       702  0.0  0.0  51228  3284 ?        S<sl 08:51   0:00 /sbin/auditd -n
avahi      719  0.0  0.0  28088  2900 ?        Ss   08:51   0:00 avahi-daemon: running [LIDQ.local]
root       720  0.0  0.0  17056  2716 ?        Ss   08:51   0:00 /usr/sbin/irqbalance --foreground
avahi      722  0.0  0.0  27960   224 ?        S    08:51   0:00 avahi-daemon: chroot helper
root       723  0.0  0.0 204184  3344 ?        Ssl  08:51   0:00 /usr/sbin/gssproxy -D
root       735  0.0  0.0 331732  7592 ?        Ssl  08:51   0:00 /usr/sbin/ModemManager
root       738  0.0  0.0  26616  3844 ?        Ss   08:51   0:00 /usr/sbin/smartd -n -q never
chrony     741  0.0  0.0 115844  3656 ?        S    08:51   0:00 /usr/sbin/chronyd
root       743  0.0  0.1 522068 13576 ?        Ssl  08:51   0:00 /usr/sbin/rsyslogd -n

        使用ef:

ps -ef
root        62     2  0 08:51 ?        00:00:00 [kpsmoused]
root        64     2  0 08:51 ?        00:00:00 [dm_bufio_cache]
root        65     2  0 08:51 ?        00:00:00 [ipv6_addrconf]
root        66     2  0 08:51 ?        00:00:00 [deferwq]
root       104     2  0 08:51 ?        00:00:00 [kauditd]
root       284     2  0 08:51 ?        00:00:00 [kworker/0:1H]
root       286     2  0 08:51 ?        00:00:00 [kworker/1:1H]
root       372     2  0 08:51 ?        00:00:00 [kdmflush]
root       373     2  0 08:51 ?        00:00:00 [bioset]
root       386     2  0 08:51 ?        00:00:00 [kdmflush]

二、top

        使用top命令可以实时查看系统中的进程情况:

top - 11:57:50 up  3:06,  2 users,  load average: 1.70, 1.15, 0.82
Tasks: 214 total,   2 running, 212 sleeping,   0 stopped,   0 zombie
%Cpu(s): 41.1 us, 12.0 sy,  0.0 ni, 47.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
KiB Mem :  8141412 total,  2644508 free,  2208984 used,  3287920 buff/cache
KiB Swap: 10239996 total, 10239996 free,        0 used.  5303348 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  
 4479 lidq      20   0 1177348 246016  54488 S  34.5  3.0   9:54.25 chrome   
 4442 lidq      20   0 1221788 353724 101056 R  23.8  4.3   4:42.57 chrome   
 3892 lidq      20   0 2682960  29572  16904 S  13.9  0.4  25:24.53 QQApp.exe
 4302 lidq      20   0 1055448 125876  61500 S  11.2  1.5   2:52.12 chrome   
 4265 lidq      20   0 1611844 195908 105632 S   8.1  2.4   3:00.88 chrome   
 1790 root      20   0  361852  56296  38500 S   4.5  0.7  13:00.97 Xorg.bin 
 3806 lidq      20   0 2913340 212916  49512 S   3.6  2.6  15:11.64 qdwnd=13+
 3692 lidq      20   0   53380  42740   1904 S   2.7  0.5   4:59.48 wineserv+
 4419 lidq      20   0  764596  16808  12912 S   1.3  0.2   1:18.10 mocp     
 1894 lidq      20   0  304360  28184  22272 S   0.9  0.3   0:32.07 xfwm4    
 3540 lidq      20   0  638352  43540  28984 S   0.9  0.5   0:12.08 gnome-te+
    9 root      20   0       0      0      0 S   0.4  0.0   0:05.84 rcuos/0  
 2004 lidq       9 -11  568056  14072  11344 S   0.4  0.2   0:41.15 pulseaud+
 2028 lidq      20   0  877496  59000  48856 S   0.4  0.7   0:06.31 EasyRemi+
 3733 lidq      20   0 2695332  38776  24024 S   0.4  0.5   0:10.79 QQProtec+
11263 root      20   0       0      0      0 S   0.4  0.0   0:00.70 kworker/+
11645 lidq      20   0  146496   3964   3224 R   0.4  0.0   0:00.16 top      
    1 root      20   0  123540   9376   5324 S   0.0  0.1   0:02.49 systemd  
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd 
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.63 ksoftirq+
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/+

        来看一下这些内容的实际作用:

1.top - 11:57:50 up  3:06,  2 users,  load average: 1.70, 1.15, 0.82
11:57:50:当前系统时间
3:06:系统已运行了3小时6分钟
2 users:当前有2个用户登录系统
load average: 1.70, 1.15, 0.82:load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

2.Tasks: 214 total,   2 running, 212 sleeping,   0 stopped,   0 zombie
Tasks:任务(进程),系统现在共有214个进程,其中处于运行中的有2个,212个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

3.%Cpu(s): 41.1 us, 12.0 sy,  0.0 ni, 47.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 
41.1% us:用户空间占用CPU的百分比。
12.0% sy:内核空间占用CPU的百分比。
0.0% ni:改变过优先级的进程占用CPU的百分比
47.0% id:空闲CPU百分比
0.0% wa:IO等待占用CPU的百分比
0.0% hi:硬中断(Hardware IRQ)占用CPU的百分比
0.0% si:软中断(Software Interrupts)占用CPU的百分比

4.KiB Mem :  8141412 total,  2644508 free,  2208984 used,  3287920 buff/cache
8141412 total:物理内存总量
2644508 free:空闲内存总量
2208984 used:使用中的内存总量
3287920 buffers:缓存的内存量

5.KiB Swap: 10239996 total, 10239996 free,        0 used.  5303348 avail Mem 
10239996 total:交换区总量
0 used:使用的交换区总量
10239996 free:空闲交换区总量
5303348 avail Mem:有效总量

        在这些总信息之后是系统进程情况,其格式为:

PID:进程id
USER:进程所有者
PR:进程优先级
NI:nice值。负值表示高优先级,正值表示低优先级
VIRT:进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES:进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR:共享内存大小,单位kb
S:进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU:上次更新到现在的CPU时间占用百分比
%MEM:进程使用的物理内存百分比
TIME+:进程使用的CPU时间总计,单位1/100秒
COMMAND:进程名称(命令名/命令行)

        在top的主视图中可以输入下面的命令来执行相关操作:

P:以 CPU 占用率大小的顺序排列进程列表。
M:以内存占用率大小的顺序排列进程列表。
s:改变画面更新频率。
l:关闭或开启第一部分第一行 top 信息的表示。
t:关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示。
m:关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示。
N:以 PID 的大小的顺序排列表示进程列表。
P:以 CPU 占用率大小的顺序排列进程列表。
M:以内存占用率大小的顺序排列进程列表。
h:显示帮助。
n:设置在进程列表所显示进程的数量。
q:退出 top。
s:改变画面更新周期。

三、kill

        kill命令用来中止一个进程。它格式如下:

kill [ -s signal | -p ] [ -a ] pid ... 
kill -l [ signal ]

        参数说明为:

-s:指定发送的信号。 
-p:模拟发送信号。 
-l:指定信号的名称列表。 
pid:要中止进程的ID号。 
signal:表示信号。

        比如杀死一个进程号为3587的进程:

kill 3587

        比如强行杀死一个进程号为6841的进程:

kill -9 6841

 

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2023 问渠网 辽ICP备15013245号