广告公司网站建设,wordpress更改主题的响应,修网络,宁波做网站有哪些公司公司目录一、进程状态1.简单分类2.详细分类#xff08;1#xff09;运行态#xff08;2#xff09;休眠态[1]可中断休眠态[2]不可中断休眠态#xff08;3#xff09;停止状态#xff08;4#xff09;死亡状态#xff08;5#xff09;僵死状态二、特殊进程1.僵尸进程2.孤儿…
目录一、进程状态1.简单分类2.详细分类1运行态2休眠态[1]可中断休眠态[2]不可中断休眠态3停止状态4死亡状态5僵死状态二、特殊进程1.僵尸进程2.孤儿进程3.守护进程三、进程状态相关指令1.ps-ef2.ps-aux3.top4.kill一、进程状态 进程就是运行中的程序而运行中的程序也是有着多种状态的。进程状态的作用就是告诉操作系统怎样去调度进程可以让程序更好的运行可以更充分的利用系统的资源。 在了解进程状态前首先要明白程序在运行时是需要各种资源的比如输入输出设备等资源。如果这些资源没有准备到位这个进程就不能继续往下执行就需要等待资源的到来。 比如我需要打印一份资料打印机就是一种资源但此时打印机正在被其他程序使用所以我就要等其他程序使用完我才可以使用。
1.简单分类 传统的操作系统概念对于进程状态的分类较为简单分为三类。
运行态就绪态阻塞态
运行态 这个状态的进程正在CPU上运行。
就绪态 进程此时已经将自己需要的资源都拿到手了现在只需要等待时间片的到来拿到时间片就可以直接运行。
阻塞态 这个进程如果处于阻塞态代表不可以被调度运行。通常是由于资源准备不充分所以进入阻塞态。比如上文提到的打印机我需要打印机资源可是此时打印机被占用了因此我的资源准备不充分就会陷入阻塞状态。
2.详细分类 与传统的操作系统定义不同Linux对于进程的状态划分的更细致主要分为五种状态
运行态休眠态 可中断休眠态不可中断休眠态 停止状态死亡状态僵死状态
1运行态 Linux的运行态包含了传统定义中的运行态和就绪态。也就是说在Linux中这两类进程都属于运行态
正在CPU上运行的进程资源准备充足等待时间片的进程
2休眠态 Linux的休眠状态是指进程需要等待某个事件发生后才可以继续运行在等待的这段时间进程干不了其他的事因此需要休眠。 要等待的某个事件其实就包括了我们之前提到过的资源。我需要使用打印机但此时打印机资源被别人使用因此我就需要先休眠等到打印机资源空闲了我再醒来去打印。 而休眠态分为可中断休眠态和不可中断休眠态。
[1]可中断休眠态 进程正在休眠等待某个事件发生后进程会醒来继续运行但这个休眠是可以被打断的遇到一些特别的事件会打断进程的休眠。 比如我们在睡觉时定了早上八点的闹钟想着等到闹钟响了才起床。但是五点钟就有人打电话打断了我们的休眠。
[2]不可中断休眠态 进程正在休眠等待某个事件发生后进程才会醒来继续运行并且这个休眠是无法被打断的。 比如一个人突然因生病而昏迷除非是得到医生的救治否则是醒不过来的。所以这就是不可中断休眠不可以被打断除非等到特定事件医生救治发生。
3停止状态 进程处于停止状态时可以被调度但什么都不做。
4死亡状态 进程已经使用完毕了所以让进程退出并且把所进程占用的资源全部释放。一个人去世后把他埋葬处理好他的后事
5僵死状态 进程使用完毕了并且进程也退出了但进程占用的资源没有被完全释放。一个人去世后没有将他埋葬没有处理他的后事 因此处于僵死状态的进程我们称之为僵尸进程。
二、特殊进程 这里简单介绍三种特殊进程
僵尸进程孤儿进程守护进程
1.僵尸进程
1什么是僵尸进程 僵死状态的进程进程退出了但是它的资源没有被完全释放是待处理状态。
2僵尸进程产生的原因 一个进程如果退出了它的pcb不会直接释放因为进程的pcb保存了这个进程的退出原因而这个退出原因是要交给父进程的父进程收到这个退出原因后就会处理子进程的后事释放子进程的资源。 因此这个进程退出前会通知父进程告诉父进程自己要退出了要记得给自己处理后事。但如果父进程没有收到子进程的通知这个子进程的资源就一直处于没有完全释放的状态就成了僵尸进程。 这里注意一点终端运行的指令或程序父进程都是shell命令行解释器进程这个进程的子进程一旦退出就会及时处理。
3僵尸进程的危害 僵尸进程的资源一直没有被回收就会造成资源泄露占据的内存没有完全释放就会占据内存空间。如果僵尸进程过多占据的资源就会越来越多系统可能就会崩溃。
4怎么处理僵尸进程 处理正常进程时我们可以通过杀死进程来退出进程。可是僵尸进程是杀不死的因为它已经死了现在我们要做的就是释放它的资源处理它的后事。 上文提到了进程之所以退出后不释放资源是因为要保存退出原因给父进程。那么我们可以通过杀死僵尸进程的父进程来释放僵尸进程的资源。因为父进程都死了僵尸进程的退出原因就没有必要再保存了资源自然会被释放掉。
2.孤儿进程 孤儿进程与僵尸进程相反孤儿进程是父进程先于子进程退出。父进程退出是不会影响子进程的这样子进程就成为了孤儿进程但是总得有个人管它因此孤儿进程会被1号进程收养。当孤儿进程退出后1号进程就会处理它的后事。
3.守护进程 守护进程也被称为精灵进程是一种特殊的孤儿进程运行在后台不占据终端在后台进行任务处理的进程。
三、进程状态相关指令
1.ps-ef
作用查看进程相关信息 参数含义
UID用户IDPID进程IDPPID父进程IDSTIME进程的开始时间TTY终端号TIME进程执行的总时间CMD运行的程序
2.ps-aux
作用查看进程相关信息 参数含义
USER运行这个程序的用户PID进程ID%CPUCPU使用率%MEM内存使用率VSZ虚拟内存使用RSS物理内存使用TTY终端号STAT进程的状态如休眠态、运行态、僵死态START进程的开始时间TIME进程执行的总时间COMMAND运行的程序
查看指定进程的信息 3.top
作用查看cpu的使用率 4.kill
kill 进程ID {作用杀死此进程}kill -9 进程ID {作用强制杀死该进程}