Linux系统管理-进程管理

基本进程概述

什么是进程

程序

是静态的概念,下载好的软件包,都是程序

进程

是动态的概念,运行的程序就称为进程

注意点

每一个运行的程序都会分配以下的内容

1.运行内存

2.用户及权限

3.进程状态

4.进程代码(类似系统中运行的顺序)

静态进程

一般指的是二进制的命令程序

动态进程

一般指的是各种服务,应用(会有生命周期)

进程的生命周期

# Linux系统管理-进程管理  ## 基本进程概述_休眠状态

程序运行时进程的状态关系

1.当父进程接收到任务调度时,会通过fork派生子进程来处理,那么子进程会集成父进程的衣钵。

2.子进程在处理任务代码时,父进程会进入等待的状态...

3.如果子进程在处理任务过程中,父进程退出了,子进程没有退出,那么这些子进程就没有父进程来管理了,就变成了僵尸进程。

4.每个进程都会有自己的PID号,(process id)子进程则PPID

进程状态

进程状态管理命令

ps :静态查看后台进程

语法: ps [选项][参数]

进程常用组合

ps aux

查看所有进程

a

all 查看所有终端的相关的进程

u

显示所有的进程用户

x

查看所有与终端无关的进程

# Linux系统管理-进程管理  ## 基本进程概述_休眠状态_02

USER: #//启动程序的用户

PID: #//父进程ID

%CPU: #//进程占用CPU的百分比

%MEM: #//进程占用内存的百分比

VSZ: #//进程占用多少虚拟内存

RSS: #//进程占用多少真实内存

TTY: #//进程运行的终端

?: #内核运行的程序

tty1: #物理机运行的程序

pts/*: #远程终端运行的程序

STAT: #//进程状态

D: #无法中断的休眠状态(通IO的进程)(I:input o:output)

R: #正在运行的状态

S: #处于休眠状态的进程

T: #暂停或被追踪的状态

W: #进入交换 内存的状态(从内核2.6开始无效)

X: #死亡的进程状态(少见)

Z: #僵尸进程

<: #优先级高的进程

N: #优先级较低的进程

L: #被锁进内存的进程

s: #父进程(在它之下有子进程开启着)

l: #以线程的方式运行 (竖线)|: #以多进程的方式运行的

+: #该进程运行在前台

START: #//进程被触发开启的时间

TIME: #//该进程占用CPU的时间

COMMAND: #//进程运行的命令

[]: #内核启动的进程(内核态)

没[]: #用户启动的进程(用户态)

ps命令讲解

ps 排序

--sort 后面接列名(小写字母)

o

指定查看的列名

ps axo %cpu,%mem,command,user

f

查看子进程

ps -ef | grep [n]ginx

#[n] 这个是属于正泽表达式 过滤后台含有nginx的进程,企业中就是在脚本里判断进程有没有启动 非常重要 要记住

专门查看Pid的命令

pidof +进程名字

pgrep

选项 -l

同时查看pid和服务名

查看进程树

pstree

前提需要安装这个命令:yum install -y psmisc

动态管理进程

# Linux系统管理-进程管理  ## 基本进程概述_父进程_03

第一行内容
  top -
15:36:57 // 服务器当前时间


up 3 days, 1:02, // 服务器运行的时间,3天1小时2分钟

2users //当前有几个用户登录

load average: 0.00, 0.01, 0.05 //当前服务器的负载,1分钟,5分钟,15分钟

#其中负载是在企业中主要查看的

#第二行内容

Tasks: 91 total, 1 running, 90 sleeping, 0 stopped, 0 zombie

总共91个进程 1个正在运行 90个休眠状态 0个停止 0个僵尸

#第三行内容

%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

us:用户态占用cpu的百分比 sy:内核态占用cpu的百分比

ni:优先级,优先被调用的进程占用cpu百分比

id:CPU的空闲程度

wa:处于等待状态的进程占用cpu的百分比

hi:硬中断占用cpu的百分比

si:软中断占用cpu的百分比

st:系统中虚拟化产品占用cpu的百分比

#第四行内容

KiB Mem : 995892 total, 703960 free, 129100 used, 162832 buff/cache

buff/cache: 剩下的所有可用内存

#第五行内容

KiB Swap: 1048572 total, 1048572 free, 0 used. 692160 avail Mem

Linux系统中的中断

什么是中断

中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求