引   言

程序(program)放置在储存媒体中(如硬盘、光盘、软盘等),为实体文件的形态存在

进程:程序被触发后,执行者的权限与属性,程序的程序代码与所需数据等都会被载入内存中,操作系统并给予 这个内存的单元一个识别(PID),可以说,进程就是一个正在运行中的程序。

                  进程状态:

                      状   态

                                                             说   明

                          R(running)

                                                    该程序正在运行

                          S(Sleep)

                            该程序目前属于睡眠状态(idle)但可以被唤醒(signal)

                          D

                            不可被唤醒的睡眠状态,通常进程可能在等待 I/O 的情况

                          T(Stop)

                     停止状态,可能是工作在控制(背景暂停)或除错(traced)状态

                          Z(Zombie)

                            僵尸状态,程序已经终止但却无法被移除至内存外

一、进程的查看

在linux系统中为我们提供了两种查看方式:

1、利用图形进行查看

[root@localhost Desktop] gnome-sysem-monitor   ###进行命令的查看

具体操作如下:

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级

 

 2、使用ps的相关命令查看

(1)ps后跟单个字母

               命 令

                                                                                  说 明

              ps -A

                                                                    查看系统中的所有进程

              ps -a

                                                     在环境中的所有进程,不包涵环境的信息

              ps -u

                                                                         显示进程用户信息

              ps a

                                                    显示当前环境中运行的进程,包含环境信息

              ps x

                                                   列出系统中所有运行的进程,包含tty输出设备

              ps f

                                                                       显示进程的父子关系

              ps e

                                                       显示 进程详细的信息(系统资源的调用)

ps -A

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_02

 ps -a

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_03

ps -u

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_04

ps a

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_05

 

ps x

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_06

 

 

ps f

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_07

 

 

ps e

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_08

 

3、ps以组合的形式出现

             命   令

                                            说   明

            ps  aux

                  显示系统中所有进程并显示进程的用户

            ps  ef

                  显示进程详细信息并显示进程的父子关系

            ps  ax

                   显示当前系统中的所有进程

            pstree

                   显示当前系统的进程的树型关系

ps  aux

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_09

ps  ef

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_10

 

ps  ax

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_11

 

pstree

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_12

 

4、显示进程指定信息:ps -o xxx   ##显示进程的指定信息

                        命  令                          

                                                                  说   明

ps  -o  comm

显示进程名称

ps  -o   user

显示进程的所有人

ps  -o  group

显示进程的所有组

ps  -o  %cpu

显示进程cpu的占用情况

ps  -o  pid

显示进程的pid

ps  -o  nice

显示进程的优先级

ps  -o  %mem

显示进程内存的使用率

 

ps  -o  comm

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_13

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_14

 

ps  -o   user

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_15

 

ps  -o  group

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_16

 

ps  -o  %cpu

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_17

ps  -o  pid

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_18linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_19linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_20

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_21

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_22

 

ps  -o  nice

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_23

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_24

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_25

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_26

ps  -o  %memlinux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_27

 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_28

以下为多个进程信息的演示:

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_29

 

4、进程的排序

                   命   令

                                                                       说     明

ps   -o   --sort=+%cpu(-%cpu)

                                 将cpu的占用进行排序,+表示正序  -表示倒序

ps   -o --sort=+%mem(-%mem)

                                 将内存的占用进行排序,+表示正序  -表示倒序

ps   -o   --sort=+%cpu

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_30

ps   -o   --sort=-%cpu

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_31

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_32

 

ps   -o   --sort=-%mem

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_33

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_34

 

ps   -o   --sort=+%mem

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_35

 

ps  -o   comm  --sort=+%mem

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_36

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_37

例题:查看占内存排前五的pid 部分

情况一:查看内存排前五的pidbu部分包含注解行

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_38

情况二:查看进程占内存排名前五的部分只显示pid

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_39

二、stat中显示的信息

                                   参数如下:

           参  数

                                                       说   明

              S

                                              表示进程的状态

              l

                                              表示内存中有锁定空间

             N

                                              表示优先级低

             <

                                              表示优先级高

             +

                                              表示进程正在前台运行

             s

                                              表示顶级进程

 如图:

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_40

STAT

 Ss :S表示进程的状态,s表示顶级进程。表示bash的进程等级最高

 T 

R+

打开控制系统(System Monitor) 将firefox的进程等级(Chang Priority)调到High

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_41

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_42


由上图可得firefox的运行状态由T变为T< 进程等级变高

同理,打开控制系统(System Monitor) 将firefox的进程等级(Chang Priority)调到Low

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_43

由上图可得firefox的运行状态由T变为TN进程等级低

 

三、进程优先级

1、进程的优先级范围: ~20~19  (优先等级越高对应的数字就越小)

2、优先等级的查看

命令:ps -o  nice,comm,pid

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_44linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_45

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_46

3、进程优先级的指定

格式: nice -n 优先级数字 进程名称

例如:nice  -n  -5  gedit

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_47

4、进程优先级的修改

格式:renice -n 设定的优先级数字 目标进程的pid

如:将下列gedit的进程等级由0改为-8

 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_48

 

四、环境中进程的前后台调用

 

                       命    令

                                             说       明

                         jobs

                             查看被打入环境后台的进程

                       Ctrl + z

                             把占用终端的进程打入后台

                   fg     jobsnum

                             把后台进程调回前台

                   bg    jobsnum

                             把后台暂停的进程运行

                      comm  &

                             让命令直接在后台运行

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_49

(1) job : 查看被打入后台进程并且显示工号

     (2) Ctrl + z  : 将当前占用终端的进程打入后台

     (3) fg (工号): 将后台进程调回前台

     (4) bg (工号): 将后台暂停的进程运行起来

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_50

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_51

(注:将firefox和gedit两个进程用 Ctrl + z 命令 打入后台,再用 jobs 命令可以查看后台的进程

用 bg 命令将后台暂停的进程运行, fg命令把后台运行的进程调回到前台)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_52linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_53linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_54

(5)进程名称 & : 让该进程直接在后台运行

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_55

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_56

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_57

四、进程信号

 

 

                  信号等级

                                                   说      明

                       1

                                       进程重新加载配置

                       2

                                       删除进程在内存中数据

                       3

                                       删除鼠标在内存中的数据

                       9

                                       强行结束单个进程 (不能被阻塞)

                      15

                                       正常关闭进程(可能会被阻塞)

                      18

                                       运行暂停的进程    

                      19

                                       暂停某个进程(不能被阻塞)

                      20

                                       把进程打入后台(可以被阻塞)

            man  7  signal

                                       查看信号详细信息

格式一: kill 信号  进程的IP

1、删除进程在内存中的数据

kill  -2  进程IP

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_58linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_59linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_60linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_61linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_62
 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_63

 

2、强行结束单个进程

kill  -9  进程IP

 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_64

 

3、正常关闭进程(可能被阻塞)

kill  -15  进程IP

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_65

4、运行暂停的进程

kill -18  进程IP

 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_66

 5、暂停某个进程(不能被阻塞)

kill  -19  进程的IP

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_67

6、把进程人打入后台(可能被阻塞

kill  -20  进程的IP

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_68 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_69

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_70

7、查看信号的详细信息

man  7  signal

 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_71

格式二:killall  -信号  进程的IP

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_72

格式三: pkill  -u  用户名  -信号

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_73

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_74

五、进程的动态监督(top指令)

        相关参数如下:

             参  数

                                                  说    明

                1

                                       显示cpu每个负载

                s

                                       调整刷新频率

                c

                                       cpu负载排序

                m

                                       内存使用量排序

                h

                                       查看帮助

                u

                                       查看指定用户的进程

                k

                                      对指定用户进行终始

                q

                                       退    出

 

1、显示cpu每个核的负载(1)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_75

2、调整刷新频率(s)

 

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_76

3、cpu负载排序(c)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_77

4、内存使用量排序(m)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_78

5、查看帮助(h)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_79

6、查看指定的用户(u)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_80

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_81

(注:先切换到student用户,再切换到root用户,按u键输入student按回车键即可查询student的用户信息)

 

7、对指定用户发起终始信号linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_82(k)

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_优先级_83

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_84

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_IP_85

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_86

linux 查看进程对应的docker容器 linux查看进程属于哪个程序_firefox_87

(注:先切换到student用户,再切换到root用户,按 u 键输入student按回车键即可查询student的用户信息,再按下 k