Linux进程概念(下)
进程状态
特殊进程
环境变量
进程状态:
每个pcb都会描述一个运行的状态信息,通过状态信息,告诉操作系统当前这个进程在干什么,而状态又分为一下三种:
在Linux中,对以上状态加以细分:
1 就绪以及运行: 即正在运行的进程 ;
2 可中断休眠状态: 可被打断的休眠,后进入运行;
3 不可中断休眠状态:只能通过满足某些条件而自然苏醒后进入运行,不可被中断打断;
4 停止:与休眠不同(休眠操作系统会去看进程唤醒的条件是否满足,而停止只能手动唤醒);
5 僵尸状态:描述的是一个进程退出了,但是进程资源没有被完全释放,等待处理的一个状态;
特殊进程:
(非常典型的一个)僵尸进程:处于僵尸状态的进程,即退出了但是资源没有被完全释放的进程;(不管子进程正常退出还是异常退出,只要退出了但没有被父进程等待处理,都会产生僵尸进程)
产生条件:一个进程先于父进程退出,父进程未关注子进程的退出状态,导致子进程无法完全退出;
危害:产生资源泄露;
解决:进程等待----一直关注子进程,退出了就能直接发现。
这里谈到子进程与父进程,那我们为什么有了父进程还需要创建一个甚至多个子进程呢?
目的1:保护父进程,如果程序发生崩溃,那也是子进程去当炮灰,可以保护父进程安全;
目的2:许多子进程还可以共同为父进程分担压力;
环境变量:
即终端shell中进行系统运行环境配置的变量
作用1:可以使系统环境配置更加灵活;
作用2:可以通过环境变量向子进程传递数据;
操作指令:env–查看所有环境变量;
典型唤醒变量:PATH–存储程序运行默认的搜索路径
指令应用:echo¥PATA
PS:在终端中我们所进行的进程的父进程就是shell。