Linux进程管理.一Day.20

一.什么是进程

当我们运行一个程序,那么我们将运行的程序叫做进程。

二.程序和进程的区别

1.程序:是一个静态的概念(软件),相当于一个被编译好的二进制文件,同时程序可以长期存在在系统中。

2.进程:是一个动态的概念(打开软件),进程会跟随着程序的终止而销毁(打开关闭软件就就相当于进程的生命周期),不会永久存在系统中。

三.进程的生命周期(pstree查看父进程树)


Linux进程管理.一Day.20_第1张图片

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

2.子进程处理完任务代码后,会执行退出,然后唤醒父进程来回收子进程的资源

3.如果子进程在执行任务时父进程退出了,子进程没有退出,那么这些子进程就没有父进程管理,那该进程就会变成僵尸进程。

PS:每个进程的父进程叫PPID,子进程则叫PID。

三.监控进程状态

1.查看静态的进程状态(ps -aux)

USER:启动进程的用户

PID :进程运行的ID

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

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

VSZ:进程占用虚拟内存大小(KB为单位)

RSS:进程占用物理内存实际大小(KB为单位)

TTY:进程由那个终端启动的(?代表内核程序)

STAT :进程运行过程中的状态

START :进程的启动时间

TIME:进程占用CPU的总时间(以秒为单位)

COMMAND:程序的运行指令。[方括号]属于内核态的进程,没有[方括号]的是用户态进程。

2.STAT进程运行过程中的状态都是什么意思

Linux进程管理.一Day.20_第2张图片

STAT基本状态

R:进程正在运行

S:进程可中断睡眠

T:进程被暂停

D:不可中断睡眠

Z:僵尸jinc

STAT状态加符号

s:进程是控制进程,Ss进程的领导者,父进程

<:进程运行在高优先级上,S<优先级较高的进程

N:进程运行在低优先级上,SN优先级较低的进程

+:当进程运行在前台,R+表示该进程在前台运行

l:进程是多线程的,Sl表示进程是以线程方式运行

案例一:ps命令查看进程状态切换

在终端0运行vim

[root@localhost ~]# vim zhangyao.txt

在终端1运行ps aux命令查看状态

[root@localhost ~]# ps aux | grep zhangyao

root      8668  0.0  0.2 151516  5228 pts/0 S+19:42  0:00 vim zhangyao.txt

root      8832  0.0  0.0 112708  976 pts/2    R+  19:45  0:00 grep --color=auto zhangyao

(S表示睡眠模式,+表示前台运行)

在终端0按在:ctrl+z

回到终端1运行ps aux命令查看状态

[root@localhost ~]# ps aux | grep zhangyao

root      8668  0.0  0.2 151516  5228 pts/0T19:42  0:00 vim zhangyao.txt

root      8934  0.0  0.0 112708  972 pts/2    R+  19:48  0:00 grep --color=auto zhangyao

(T表示停止状态)

案例二:ps命令查看不可中断的进程

使用tar打包文件时,可以通过终端不断查看状态,由S+,R+变为D+

在终端0打包

[root@localhost ~]# tar -czf etc.tar.gz /etc/ /usr/ /var/

tar: Removing leading `/' from member names

tar: Removing leading `/' from hard link targets

在终端1不断产看状态

[root@localhost ~]#  ps aux|grep tar|grep -v grep

root      9817  5.0  0.0 123808  1540 pts/0S+20:03  0:00 tar -czf etc.tar.gz /etc/ /usr/ /var/

[root@localhost ~]#  ps aux|grep tar|grep -v grep

root      9817  3.8  0.0 123808  1628 pts/0R+20:03  0:00 tar -czf etc.tar.gz /etc/ /usr/ /var/

[root@localhost ~]#  ps aux|grep tar|grep -v grep

root      9817  3.6  0.0 124132  1836 pts/0D+20:03  0:01 tar -czf etc.tar.gz /etc/ /usr/ /var/

3..查看动态的进程状态(top)【-h 查看帮助】【1 显示所有CPU核心负载,类似w命令】【z 以高亮显示数据】【b 高亮显示处于R状态的进程】【M 按内存使用百分比排序输出】【p 按CPU使用百分比排序输出】【q 退出top】


Linux进程管理.一Day.20_第3张图片


Linux进程管理.一Day.20_第4张图片

4.如何理解硬中断和软中断

中断的目的是提高系统处理率

你可能感兴趣的:(Linux进程管理.一Day.20)