一.什么是进程
当我们运行一个程序,那么我们将运行的程序叫做进程。
二.程序和进程的区别
1.程序:是一个静态的概念(软件),相当于一个被编译好的二进制文件,同时程序可以长期存在在系统中。
2.进程:是一个动态的概念(打开软件),进程会跟随着程序的终止而销毁(打开关闭软件就就相当于进程的生命周期),不会永久存在系统中。
三.进程的生命周期(pstree查看父进程树)
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进程运行过程中的状态都是什么意思
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】
4.如何理解硬中断和软中断
中断的目的是提高系统处理率