天天看点

Linux学习笔记7-1进程运行原理

1,程序与进程

程序是一组指令及参数的集合,按照既定的逻辑控制计算机运行用来完成特定任务

进程是运行着的程序,是操作系统执行的基本单位,是程序运行的过程,动态,有生命周期及运行状态

2,进程生命周期

父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配唯一的进程ID(PID),满足跟踪安全性之需。PID和父进程(PPID)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一系统进程的后代

Centos5/6: init

Centos7: systemd

3,父子进程的关系

子进程是由一个进程所产生的进程,产生这个子进程的进程成为父进程,在linux系统中,使用系统进程调用fork创建进程。fork复制的内容包括父进程的数据和堆栈以及父进程的进程环境。父进程终止子进程自然终止

子进程继承父进程的安全性身份,过去和当前的文件描述符,端口,资源特权,环境变量,程序代码。随后,子进程可能exec自己的程序代码。通常,父进程在子进程运行期间处于睡眠(sleeping)状态。当子进程完成时,发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境,剩余的部分称为僵停(僵尸Zombie)。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行自己的程序代码

继续阅读