Linux应用基础——监控与管理进程

目录

一、进程

1.定义

2.组成

3.进程环境包括

4.进程的生命周期

二、描述进程状态

三、相关命令

1.top命令

2.ps命令

二、中断进程

扫描二维码关注公众号,回复: 15011954 查看本文章

1.基本进程管理信号

2.每个信号的默认操作

3.相关命令

(1)kill命令

(2)killall命令

(3)pkill命令

三、以管理员身份注销账户

四、监控进程活动

1.负载均衡

(1)介绍

(2)负载均衡相关数据解释

(3)关于CPU的负载均衡解释


一、进程

1.定义

进程是已启动的可执行程序的运行中的实例

2.组成

已分配的内存的地址空间

安全属性,包括所有凭证和特权

程序代码的一个或多个执行线程

进程状态

3.进程环境包括

本地和全局变量

当前调度上下文

分配的系统资源,如文件描述符合网络端口

4.进程的生命周期

现有的父进程复制自己的地址空间(fork)来创建一个新的子进程结构,每个新进程分配有一个唯一进程ID(PID),满足跟踪和安全性需求,PID和父进程ID(PPID)是新进程环境的元素,任何进程可创建子进程,所有进程都是第一个系统进程的后代

 通过fork进程,子进程继承安全性身份、过去和当前的文件描述符、端口、资源特权,环境变量,以及程序代码。随后,子进程可能exec其自己的程序代码。通常,父进程在子进程运行期间处于睡眠状态,设置一个在子进程完成时发出信号的请求(wait),在退出时,子进程已经关闭或者丢弃了其资源和环境。剩下唯一的资源叫僵停,是进程表中的一个条目。父进程在子进程退出时收到信号而被唤醒,清理子条目的进程表,由此释放子进程的最后一个资源,然后,父进程继续执行自己的程序代码。

二、描述进程状态

名称

标志

内核定义的状态名称和描述

运行

TASK_RUNNING:进程正在CPU上执行,或者正在等待运行。处于运行中(或可运行)状态时,进程可能正在执行用户例程或内核例程(系统调用),或者已排队并就绪

睡眠

S

TASK_INTERRUPTICLE:进程正在等待吗某一条件

睡眠

D

TASK_UNINTERRUPTICLE:此进程也在睡眠,但是与S状态不同,不会响应信号。仅仅在进程中断可能会导致意外设备状态的情况使用

睡眠

K

TASK_KILLABLE:与不可中断的D状态相同,但是有修改,允许等待中的任务响应要被中断(彻底退出)的信号

睡眠

I

TASK_REPORT_IDLE:D状态的一个子集,在计算负载均衡值时,内核不会统计这些进程

已停止

T

TASK_STOPPED:进程已被停止(暂停)

已停止

T

TASK_TRACED:正在被调试的进程也会被临时停止,并且共享一个T状态标志

僵停

Z

EXIT_ZOMBIE:子进程在退出时向父进程发出信号

僵停

X

EXIT_DEAD:当前父进程清理(获取)剩余的子进程结构时,进程现在已彻底释放

三、相关命令

1.top命令

S列显示每个进程的状态,在单CPU系统上,一次只能运行一个进程,可以看到有多个R进程,并非所有进程都在运行,有些在等待

2.ps命令

用于列出当先进程,显示更详细的信息包括:

(1)用户UID,它确定进程的特权

(2)PID

(3)CPU和已经花费的实际时间

(4)进程在各种位置上分配内存数量

(5)进程stdout的位置,称为控制端

选项:

-aux 最常见的选项集,显示包括无控制终端的进程在内的所有进程。

-lax 提供更多技术的详细信息,但是可以避免查询用户名来加快显示。

-ef 类似于UNIX的语法使用选项。

-j 显示与作业相关的信息。

 

方括号中的进程(通常位于列表顶部)为调度的内核线程

僵停列为exiting和defunct

ps输出是一次性的,top可以实时更新输出

ps可以采用树形显示格式,便于查看父子进程之间的关系

二、中断进程

1.基本进程管理信号

信号编号

短名称

定义

用途

1

HUP

挂起

用于报告中断控制进程的终止,也用于请求进程重新初始化(重新加载配置)而不终止

2

INT

键盘中断

导致程序终止,可以被拦截或处理,通过按INTR键序列(ctrl+C)发送

3

QUIT

键盘退出

与SIGINT相似,在终止时添加进程转储。通过按QUIT键序列(ctrl+\)发送

9

KILL

中断、无法拦截

导致立即终止程序,无法拦截,忽略或处理,总是致命的

15

TERM(默认)

终止

导致程序终止,和SIGKILL不同,可以拦截,忽略处理,要求程序终止的“友好”方式;允许自我清理

18

CONT

继续

发送至进程使其恢复(若已经停止)。无法被拦截,即使被处理,也始终恢复进程

19

STOP

停止、无法拦截

暂停进程,无法被拦截或处理

20

TSTP

键盘停止

和SIGSTOP不同,可以被拦截、忽略或处理,通过按SUSP键序列(ctrl+Z)发送

2.每个信号的默认操作

终止——导致程序立即终止(退出)

核心转储——导致程序保存内存镜像(核心转储),然后终止

停止——导致程序停止执行(暂停),再等待继续(恢复)

3.相关命令

(1)kill命令

此命令根据PID编号向进程发送信号,此命令可用于发送任何信号,而不仅仅是终止信号

选项:

-l 列出所有可用信号的名称和编号

(2)killall命令

可以根据命令名称向多个进程发送信号

(3)pkill命令

向一个或多个符合条件的进程发送信号,选择条件可以是命令名称、特定用户拥有的进程或所有系统范围进程。pkill命令包括高级选择条件:

命令:具有模式匹配的命令名称的进程

UID:某一Linux用户账户拥有的进程吗,无论是有效还是真实

GID:某一Linux组账户拥有的进程,无论有效还是真实

父级:特定父进程的子进程

终端:运行于特定控制终端的进程

三、以管理员身份注销账户

要注销某个用户,首先确定要终止的登录会话,使用w命令列出用户登录和当前运行的进程,记录TTY和FROM列,以确定要关闭的会话

所有用户登录会话都与某个终端设备(TTY)相关联,若设备名称的格式为pts/N,说明这是一个与图形终端窗口或远程登录会话相关联的伪终端,如果格式为ttyN,则说明用户位于一个系统控制台、替代控制台或其他直接连接的终端设备上

四、监控进程活动

1.负载均衡

(1)介绍

负载均衡表示一段时间内感知系统负载,报告CPU上准备运行的进程数以及等待磁盘或网络I/O完成的进程数

(2)负载均衡相关数据解释

三个平均值表示了1,5,15分钟的负载情况 

(3)关于CPU的负载均衡解释

需要CPU时间的进程是增加负载数的原因,可以根据显示的负载均衡值除以系统中的逻辑CPU数,低于1,则资源利用率好,等待时间短,高于1,则资源饱和度高,等待时间长。

空闲CPU队列的负载数为0,每个等待CPU处理的进程都会使负载数加1,如果有一个进程在CPU上运行,则负载数为1,尽管资源(CPU)处于使用状态,但是没有等待要求,如果该进程运行整整1分钟,那么它对着1分钟的负载均衡贡献值就是1。

猜你喜欢

转载自blog.csdn.net/qq_60503432/article/details/128506364