linux运维基础篇

Linux进程管理 day21

2019-08-21  本文已影响0人  静如止水yw

1.进程的基本知识
2.进程的生命周期
3.进程的状态指标


一、进程的基本知识

1.什么是进程

进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。简单来说,进程就是正在运行的程序,用户下达运行程序的命令后,就会产生进程。同一程序可产生多个进程(是一对多的关系)。进程有以下组成部分:
• 已分配内存的地址空间;
• 安全属性,包括所有权凭据和特权;
• 程序代码的一个或多个执行线程;
• 进程状态

2.进程与程序的区别

程序 进程
二进制文件,静态的 (如:/bin/date等) 是程序运行的过程,动态的
指令的集合,本身无“运动”的含义 有生命周期及运行状态
一个程序可以对多个进程,是一对多的关系 一个进程只能对一个程序,是一对一的关系

二、进程的生命周期


父进程与子进程的概念

父进程复制自己的地址空间(fork)传建一个新的(子)进程结构。每个新进程分配一个唯一的进程ID(PID),满足跟踪安全性之需,PID和父进程(PPID)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一个系统进程的后代。
子进程继承父进程的安全性身份、过去和当前的文件描述符,端口和资源特权,环境变量,以及程序代码。随后,子进程可能exec自己的程序代码,通常,父进程在子进程运行期间处于睡眠(sleeping)状态,当子进程完成时发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境,剩余的部分称为僵停(僵尸Zombie)。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行其自己的程序代码


进程生命周期示意图

三、进程的状态指标


1.使用ps命令查看当前的进程状态(静态)

经常使用ps -aux组合查看进程、用户、PID、占用CPU百分比、占用内存百分比、状态、执行命令等


ps -aux查看进程

[root@wyw-10 ~]# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

状态 描述
USER 启动进程的用户
PID 进程运行的ID号
%CPU 进程占用的百分比
%MEM 进程占用内存百分比
VSZ 进程占用虚拟内存大小(单位KB)
RSS 进程占用物理内存实际大小(单位KB)
TTY 进程由哪个终端运行的tty1、pts/0等,表示内核程序与终端无关
STAT 进程运行的状态 man ps (/SATE)
START 进程的启动时间
TIME 进程占用CPU的总时间(为0表示还没超过秒)
COMMAND 程序的运行指令,"[ ]"属于内核态的进程。没有"[ ]"的是用户态的进程

2.STAT状态的S 、Ss、S+、R等的意思

SATA状态
SATA基本状态 描述 SATA状态+符号 描述
R 进程运行 s 进程是控制进程, Ss进程的领导者,父进程
S 可中断睡眠 < 进程运行在高优先级上,S<优先级较高的进程
T 进程被暂停 N 进程运行在低优先级上,SN优先级较低的进程
D 不可中断睡眠 + 当前进程运行在前台,R+该表示进程在前台运行
Z 僵尸进程 l 进程是多线程的,Sl表示进程是以线程方式运行
#1.在终端1上运行vim 1.txt
[root@wyw-10 ~]# vim 1.txt

#2.在终端2上运行ps aux命令查看状态
[root@wyw-10 ~]# ps aux |grep 1.txt         #S表示睡眠模式,+表示前台运行
root      23532  0.7  0.5 151564  5296 pts/0    S+   16:36   0:00 vim 1.txt
root      23534  0.0  0.0 112708   984 pts/1    R+   16:36   0:00 grep --color=auto 1.txt

#3.在终端1上挂起vim命令,按下ctrl+z
[root@wyw-10 ~]# vim 1.txt

[1]+  Stopped                 vim 1.txt

#4.回到终端2再次运行ps命令查看状态
[root@wyw-10 ~]# ps aux |grep 1.txt 
root      23538  0.3  0.5 151564  5304 pts/0    T    16:45   0:00 vim 1.txt   #T表示停止状态
root      23540  0.0  0.0 112708   984 pts/1    R+   16:45   0:00 grep --color=auto 1.txt
#1.使用tar打包文件时,可以通过终端不断查看状态,由S+,R+变为D+
[root@wyw-10 ~]# tar -czf etc.tar.gz /etc/ /usr/ /var/ /tmp/ /opt/ /home/
PS查看不可中断状态进程
top命令查看当前的进程状态
任务 含义
Tasks: 91total 进程的总数
3 running 正在运行的进程数
87 sleeping 睡眠的进程数
1 stopped 停止的进程数
0 zombie 僵尸进程数
%Cpu(s): 0.0 us 系统用户进程使用CPU百分比
0.3 sy 内核中的进程占用CPU百分比,通常内核是于硬件进行交互
99.7 id 空闲CPU的百分比
0.0 wa CPU等待IO完成的时间
0.0 hi 硬中断,占的CPU百分比
0.0 si 软中断,占的CPU百分比
0.0 st 比如虚拟机占用物理CPU的时间

PS:top常见指令

字母 含义
h 查看帮助
1 数字1,显示所有CPU核心的负载
z 以高亮显示数据
b 高亮显示处于R状态的进程
M 按内存使用百分比排序输出
P 按CPU使用百分比排序输出
q 退出top

总结

今天主要学了Linux的进程管理,了解了进程是正在运行的程序以及进程与程序之间的区别。
进程的生命周期和进程的运行状态。
通过对进程管理的学习,加深了对Linux的了解,以及进程运行时系统的流畅度,进程运行的少,系统的运行速度就快,进程运行的多,系统的运行速度就慢。

上一篇下一篇

猜你喜欢

热点阅读