您现在的位置是:首页 >技术杂谈 >Linux中init和systemd进程、ps命令和top命令、进程和线程介绍网站首页技术杂谈
Linux中init和systemd进程、ps命令和top命令、进程和线程介绍
1.system进程类似于init,可以成为是init的优一级产物,和init一样,systemd进程pid=1
2.-b,多次执行top命令,搭配定向符将处理数据输出到文件
6.-s,让top命令在安全模式下运行,此时不允许top的交互
一.进程、线程的关系
1.进程:
已经启动了的,可执行的运行实例
(1)进程和程序(二进制文件,存储在磁盘中,是封闭的)没有一一对应关系,进程也可以说是相同的程序在不同的数据集合上运行
(2)进程还具有并发性和交往性,进程并发线程,各个线程执行不同的任务
(3)一个进程可以拥有多个线程,一个线程同时只能被一个进程拥有
2.线程:
线程是操作系统能够进行运算调度的最小单位
(1)线程被包含在进程当中,是进程中的实际运作单位
(2)一条线程指进程里一个单一顺序的控制流(计算机执行一个程序中语句的顺序)
(3)每一个线程有成都旭的入口、执行序列、程序出口,线程不能单独执行,要被组成进程才能被执行
二.进程分类
1.按运行主体分
(1)系统进程
对内存资源分配和进程切换负责,运行起来后不受用户包括root用户的干预
(2)用户进程
是由执行用户程序、影虎程序、内核之外的系统程序产生的,用户可以进行运行/关闭
2.按运行方式
(1)交互式进程分
由shell终端启动的进程,运行与后台/前台,需要用户进行交互操作的进程
(2)批处理进程
可以成为一个进程集合,主要负责按照一定的顺序启动其他进程,在后台运行不需要用户交互
(3)守护进程
系统启动守护进程也启动,系统关闭时终止,与控制终端独立区分开,以一定周期执行处理某种任务,在后台运行
3.按隶属关系分
(1)父进程
可以创建、控制其他进程的进程
(2)子进程
被其他进程创建、控制的进程
4.按运行环境分
(1)前台进程
在当前的终端输入命令之后,这个命令对应的进程会在结束之前一直占用终端来显示或执行任务,这期间是不能输入其他命令的
(2)后台进程
在当前终端输入命令之后,这个命令对应的进程不会占据当前终端,这期间用户可以时输入执行其他命令
三.init守护进程
init进程按顺序启动进程,前一个启动后一个才启动,启动时间长
1.含义:
是一个由内核启动的用户级进程,init始终是第一个进程,进程编号为1,如果内核无法找到init并且运行/bin/sh文件也失败那么系统将无法启动
2.运行级别
运行级别可以在/etc/inittab内指定
[root@redhat9 ~]# vim /etc/inittab
(1)0级别表示停机,不建议设置为默认级别
(2)1级别表示单用户模式,只允许root用户,可以用在系统升级维护的情况下
(3)2级别表示多用户模式但排除NFS文件共享
(4)3级是标准的运行级别,不排除NFS在外的多用户模式
(5)4级别是安全模式
(6)5级别是图形界面形式
(7)6级别是重启,不建议设置为默认级别
四.systemd进程
1.system进程类似于init,可以成为是init的优一级产物,和init一样,systemd进程pid=1
2.部分systemd命令
命令 | 含义 |
systemctl reboot | 重启系统 |
systemctl poweroff/systemctl halt | 关闭系统 |
systemctl suspend | 挂起系统,挂起时,信息存储到内存中断电丢失数据 |
systemctl hibernate | 系统休眠,信息写入硬盘,断电不丢失数据 |
systemctl hybrid-sleep | 休眠并挂起系统 |
systemctl rescue | 进入救援模式 |
systemd-analyze | 查看启动耗时 |
loginctl | 查看当前登录的用户 |
hostnamectl | 查看当前主机信息 |
localectl | 查看本地设置 |
timedatectl | 设置时区 |
五.ps命令查看进程
1.-a显示所有用户的进程
[root@redhat9 ~]# ps -a
PID TTY TIME CMD
5479 tty2 00:00:00 gnome-session-b
40815 pts/3 00:00:00 ps
2.-u显示用户名和启动时间
[root@redhat9 ~]# ps -u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 5470 0.0 0.0 374144 5684 tty2 Ssl+ 03:35 0:00 /usr/libexec/gdm-wayl
root 5479 0.0 0.1 521436 19412 tty2 Sl+ 03:35 0:00 /usr/libexec/gnome-se
root 37922 0.0 0.0 224240 5976 pts/0 Ss+ 19:37 0:00 bash
root 38168 0.0 0.0 224584 6216 pts/2 Ss+ 20:05 0:00 -bash
root 40664 0.0 0.0 224224 5692 pts/3 Ss 20:37 0:00 -bash
root 40816 0.0 0.0 225500 3548 pts/3 R+ 21:24 0:00 ps -u
3.-x显示没有控制终端的进程
[root@redhat9 ~]# ps -x | head
PID TTY STAT TIME COMMAND
1 ? Ss 0:12 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
2 ? S 0:00 [kthreadd]
3 ? I< 0:00 [rcu_gp]
4 ? I< 0:00 [rcu_par_gp]
5 ? I< 0:00 [netns]
7 ? I< 0:00 [kworker/0:0H-events_highpri]
9 ? I< 0:00 [kworker/0:1H-events_highpri]
10 ? I< 0:00 [mm_percpu_wq]
12 ? I 0:00 [rcu_tasks_kthre]
4.-e显示所有进程,包括-x的内容
[root@redhat9 ~]# ps -e |head
PID TTY TIME CMD
1 ? 00:00:12 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
4 ? 00:00:00 rcu_par_gp
5 ? 00:00:00 netns
7 ? 00:00:00 kworker/0:0H-events_highpri
9 ? 00:00:00 kworker/0:1H-events_highpri
10 ? 00:00:00 mm_percpu_wq
12 ? 00:00:00 rcu_tasks_kthre
5.-l以长格式显示
[root@redhat9 ~]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 0 40664 40662 0 80 0 - 56056 do_wai pts/3 00:00:00 bash
4 R 0 40826 40664 0 80 0 - 56375 - pts/3 00:00:00 ps
F
|
代表这个程序标志(
process flags
),说明这个程序的权限。常见号码有:
4
表示此程序的权限为
root
;
1
表示此子程序仅进行复制(
fork
)而没有实际执行(
exec
)
|
S
| 这个程序的状态,
R
程序正在运作中
S程序目前正在睡眠状态,
但可以被唤醒
D不可被唤醒的睡眠状态(通常是在等待
I/O)
T停止状态
可能是后台暂停;
Z
僵尸状态,程序已经终止但却无法被移除
X表示死掉的进程
|
UID/PID/PPID | 代表此程序被该UID所拥有/程序的PID号码/此程序的父进程PID号码 |
C | 代表CPU使用率,单位为百分比 |
PRI/NI
|
Priority/Nice
的缩写,代表此程序被
CPU
所执行的优先顺序,数值越小代表该程序越快被
CPU
执行
|
ADDR/SZ/WCHAN
|
ADDR
是
指出该程序在内存的哪个部分,如果是running的程序,一般会显示
-;
SZ
代表此程序用掉多少内存,
WCHAN
表示目前程序是否运作中,若为
-
表示正在运行
|
TTY | 登入者的终端机位置,若为远程终端登入则使用动态终端界面(pts/n) |
TIME | 使用掉的CPU时间,即此程序实际花费CPU运作的时间。 |
CMD | 触发此进程的指令 |
6.-f输出信息更完整
[root@redhat9 ~]# ps -ef | head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:34 ? 00:00:12 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
root 2 0 0 03:34 ? 00:00:00 [kthreadd]
root 3 2 0 03:34 ? 00:00:00 [rcu_gp]
root 4 2 0 03:34 ? 00:00:00 [rcu_par_gp]
root 5 2 0 03:34 ? 00:00:00 [netns]
root 7 2 0 03:34 ? 00:00:00 [kworker/0:0H-events_highpri]
root 9 2 0 03:34 ? 00:00:00 [kworker/0:1H-events_highpri]
root 10 2 0 03:34 ? 00:00:00 [mm_percpu_wq]
root 12 2 0 03:34 ? 00:00:00 [rcu_tasks_kthre]
7.-w以宽行显示,可以使用多个w进行加宽显示
[root@redhat9 ~]# ps -ef | head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:34 ? 00:00:12 /usr/lib/systemd/systemd rhgb --swit ched-root --system --deserialize 31
root 2 0 0 03:34 ? 00:00:00 [kthreadd]
root 3 2 0 03:34 ? 00:00:00 [rcu_gp]
root 4 2 0 03:34 ? 00:00:00 [rcu_par_gp]
root 5 2 0 03:34 ? 00:00:00 [netns]
root 7 2 0 03:34 ? 00:00:00 [kworker/0:0H-events_highpri]
root 9 2 0 03:34 ? 00:00:00 [kworker/0:1H-events_highpri]
root 10 2 0 03:34 ? 00:00:00 [mm_percpu_wq]
root 12 2 0 03:34 ? 00:00:00 [rcu_tasks_kthre]
[root@redhat9 ~]# ps -efw | head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:34 ? 00:00:12 /usr/lib/systemd/systemd rhgb --swit ched-root --system --deserialize 31
root 2 0 0 03:34 ? 00:00:00 [kthreadd]
root 3 2 0 03:34 ? 00:00:00 [rcu_gp]
root 4 2 0 03:34 ? 00:00:00 [rcu_par_gp]
root 5 2 0 03:34 ? 00:00:00 [netns]
root 7 2 0 03:34 ? 00:00:00 [kworker/0:0H-events_highpri]
root 9 2 0 03:34 ? 00:00:00 [kworker/0:1H-events_highpri]
root 10 2 0 03:34 ? 00:00:00 [mm_percpu_wq]
root 12 2 0 03:34 ? 00:00:00 [rcu_tasks_kthre]
[root@redhat9 ~]# ps -efwwww | head
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:34 ? 00:00:12 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
root 2 0 0 03:34 ? 00:00:00 [kthreadd]
root 3 2 0 03:34 ? 00:00:00 [rcu_gp]
root 4 2 0 03:34 ? 00:00:00 [rcu_par_gp]
root 5 2 0 03:34 ? 00:00:00 [netns]
root 7 2 0 03:34 ? 00:00:00 [kworker/0:0H-events_highpri]
root 9 2 0 03:34 ? 00:00:00 [kworker/0:1H-events_highpri]
root 10 2 0 03:34 ? 00:00:00 [mm_percpu_wq]
root 12 2 0 03:34 ? 00:00:00 [rcu_tasks_kthre]
8.ps命令可以自定义显示字段
[root@redhat9 ~]# ps -axo user,pid,ppid | head
USER PID PPID
root 1 0
root 2 0
root 3 2
root 4 2
root 5 2
root 7 2
root 9 2
root 10 2
root 12 2
六.top命令查看进程
1.-d接数字,查看进程界面时更新间隔,默认5秒
[root@redhat9 ~]# top -d 2
top - 21:41:23 up 18:06, 3 users, load average: 0.11, 0.37, 0.20
Tasks: 352 total, 1 running, 351 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.1 hi, 0.1 si, 0.0 st
MiB Mem : 10215.9 total, 7786.7 free, 1662.8 used, 1083.9 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8553.1 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
949 root 20 0 530196 9380 7560 S 0.5 0.1 1:25.82 vmtoolsd
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.16 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
7 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-ev+
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.15 kworker/0:1H-kb+
10 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
12 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_kthre
13 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_rude_
14 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_trace
15 root 20 0 0 0 0 S 0.0 0.0 0:00.45 ksoftirqd/0
16 root 20 0 0 0 0 I 0.0 0.0 0:05.23 rcu_preempt
17 root rt 0 0 0 0 S 0.0 0.0 0:00.30 migration/0
2.-b,多次执行top命令,搭配定向符将处理数据输出到文件
[root@redhat9 ~]# top -d 2 -b > aaa.txt
[root@redhat9 ~]# head aaa.txt
top - 21:42:59 up 18:08, 3 users, load average: 0.02, 0.26, 0.18
Tasks: 350 total, 1 running, 349 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 10215.9 total, 7786.5 free, 1663.1 used, 1083.9 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8552.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.16 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
3.-n通常和-b搭配,指定显示几次top命令结果
[root@redhat9 ~]# top -d 2 -b -n 3 > bbb.txt
[root@redhat9 ~]# cat bbb.txt
top - 21:44:43 up 18:09, 3 users, load average: 0.00, 0.18, 0.16
Tasks: 351 total, 1 running, 350 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 10215.9 total, 7786.0 free, 1663.4 used, 1084.0 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8552.5 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.16 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
7 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-ev+
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.15 kworker/0:1H-ev+
10 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
12 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_kthre
13 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_rude_
14 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_trace
15 root 20 0 0 0 0 S 0.0 0.0 0:00.45 ksoftirqd/0
16 root 20 0 0 0 0 I 0.0 0.0 0:05.24 rcu_preempt
17 root rt 0 0 0 0 S 0.0 0.0 0:00.30 migration/0
19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
21 root rt 0 0 0 0 S 0.0 0.0 0:02.20 migration/1
22 root 20 0 0 0 0 S 0.0 0.0 0:00.57 ksoftirqd/1
24 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-ev+
25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp
4.-i不显示僵尸进程信息
5.-c不止显示命令名称还显示进程的整个命令路径
[root@redhat9 ~]# top -c
top - 21:47:17 up 18:12, 3 users, load average: 0.00, 0.10, 0.13
Tasks: 351 total, 1 running, 350 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.1 hi, 0.1 si, 0.0 st
MiB Mem : 10215.9 total, 7785.3 free, 1664.0 used, 1084.1 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8551.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
949 root 20 0 530196 9380 7560 S 0.7 0.1 1:26.04 /usr/bin/vmtoolsd
40853 root 20 0 0 0 0 D 0.3 0.0 0:00.96 [kworker/2:1+usb_hub_wq]
40890 root 20 0 226188 4296 3448 R 0.3 0.0 0:00.04 top -c
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.17 /usr/lib/systemd/systemd rhgb --switched-root --system --deserialize 31
2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 [kthreadd]
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_gp]
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_par_gp]
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [netns]
6.-s,让top命令在安全模式下运行,此时不允许top的交互
[root@redhat9 ~]# top -s
top - 21:48:19 up 18:13, 3 users, load average: 0.00, 0.08, 0.12
Tasks: 351 total, 1 running, 350 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.1 us, 0.1 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.1 hi, 0.0 si, 0.0 st
MiB Mem : 10215.9 total, 7785.3 free, 1664.0 used, 1084.1 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8551.9 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
40853 root 20 0 0 0 0 I 0.3 0.0 0:01.08 kworker/2:1-pm
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.17 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.23 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
7 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-events_highpri
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.15 kworker/0:1H-events_highpri
10 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
12 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_kthre
13 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_rude_
14 root 20 0 0 0 0 I 0.0 0.0 0:00.00 rcu_tasks_trace
7.-p指定某个pid来查看
[root@redhat9 ~]# top -p 1
top - 21:49:15 up 18:14, 3 users, load average: 0.00, 0.06, 0.10
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 10215.9 total, 7784.8 free, 1664.5 used, 1084.1 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8551.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.17 systemd
8.top的输出信息解析
主要分为统计信息区和进程信息区,前五行位统计信息区,后面嗾使进程信息区
[root@redhat9 ~]# top -p 1
top - 21:49:45 up 18:14, 3 users, load average: 0.00, 0.06, 0.10
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.1 hi, 0.0 si, 0.0 st
MiB Mem : 10215.9 total, 7784.8 free, 1664.5 used, 1084.1 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8551.4 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.17 systemd
统计信息区
(1)21:49:45表示当前系统时间,up 18:14表四系统启动已经18小时14分钟,user表示当前登录系统的用户数量,load average: 0.00, 0.06, 0.10表示系统上1、5、15分钟至今的平均负载,如果是1表示满负载
top - 21:49:45 up 18:14, 3 users, load average: 0.00, 0.06, 0.10
(2)分别表示进程总数,正在运行的进程数,正在休眠状态的进程数,停止的进程数,僵尸进程数
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
(3)分别表示用户进程占用cpu的百分比,系统进程占用cpu的百分比,用户进程空间内改变过优先级的进程占用cpu百分比,空闲cpu占用的百分比,I/O等待输入(输出进程占用cpu百分比),cpu服务于硬件中断所耗费的总时间,cpu服务于软件中断所耗费的总时间,虚拟机被hypervisor占去的时间
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.1 hi, 0.0 si, 0.0 st
(4)total表示系统的内存大小,free表示目前空余的内存大小,used表示已经使用的内存大仙
MiB Mem : 10215.9 total, 7799.1 free, 1650.2 used, 1084.1 buff/cache
MiB Swap: 4608.0 total, 4608.0 free, 0.0 used. 8565.7 avail Mem
进程信息区
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 170688 14532 9408 S 0.0 0.1 0:12.19 systemd
PID:进程id
USER:进程所有者的名称
PR:进程优先级
NI:nice值,负值表示优先级高,反之低
VIRT:进程使用的虚拟内存总量,KB单位
RES:进程使用的,违背交换的物理内存大小,KB单位
SHR:共享内存大小,KB单位
S:进程状态,上文提到
%CPU:上次更新至今的cpu时间占用百分比
%MEM:进程占用的物理内存百分比
TIME+:进程总计使用的时间,1/100秒单位
COMMAND:正在运行进程的命令名称
9.top命令执行过程可以使用交互按键命令如下
按键 | 含义 |
h,? | 显示帮助信息 |
k | 终止一个进程,提示您输入该进程的PID |
i |
忽略闲置进程和僵死进程
|
s |
更改top输出信息两次刷新之间的时间,系统将提示输入新的时间
|
o,O |
更改top
输出信息中显示的顺序。小写的
a-z
键可以将列向右移动,按大写的 A-Z键可以将列向左移动,
enter
确定
|
f,F |
从显示列表中添加或者删除项,按
f
键之后会显示列的列表,按
a-z
键即可显示或隐藏对应的列,最后按enter
确定
|
m |
切换显示内存信息
|
t |
切换显示进程和
cpu
状态信息
|
r |
重新设置一个进程的优先级,系统提示用户输入需要改变的进程
PID
以及需要设置的进程优先级值。正值将使优先级降低,反之则可以使该进程拥有更高的优先权,默认是10
|
l |
切换显示平均负载和启动时间信息
|
c |
切换显示完整命令行和命令名称信息
|
M |
根据驻留内存大小进行排序输出
|
N |
以
PID
排序
|
P |
以CPU
使用百分比大小进行排序输出
|
T |
根据时间
/
累计时间进行排序输出
|
S |
切换到累计模式
|
W |
将当前
top
设置写入
~/.toprc
文件中
|
q |
退出
top
显示
|
七.信号控制进程
1.部分编号和信号
[root@redhat9 ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
2.给所有制定进程发信号
[root@redhat9 ~]# ps -ef | grep httpd
root 40089 1 0 20:36 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 40415 40089 0 20:37 ? 00:00:00 /usr/sbin/httpd -DFOREGROUND
apache 40416 40089 0 20:37 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
apache 40417 40089 0 20:37 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
apache 40418 40089 0 20:37 ? 00:00:01 /usr/sbin/httpd -DFOREGROUND
root 40925 40664 0 22:18 pts/3 00:00:00 grep --color=auto httpd
[root@redhat9 ~]# killall httpd
[root@redhat9 ~]# ps -ef | grep httpd
root 40931 40664 0 22:19 pts/3 00:00:00 grep --color=auto httpd