linux进程简介

一.什么是进程? 进程是已启动的可执行程序的运行实例,进程有以下组成部分: 1. 已分配内存的地址空间 2. 安全属性,包括所有权凭据和特权 3. 程序代码的一个或多个执行线程 4. 进程状态 程序:二进制文件,静态/bin/date,/usr/sbin/httpd ,/usr/sbin/sshd,/usr/local/nginx/sbin/ngix 进程:是程序运行的过程,动态,有生命周期及运行状态 二.进程的生命周期 父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配一个唯一的进程ID(PID),满足跟踪安全性之需。PID和父进程ID(PPID)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一个系统进程的后代: centos5/6:init centos7:systemd 子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量、以及程序代码。随后,子进程可能exec自己的程序代码。通常,父进程在子进程运行期间处于睡眠(sleeping)状态。当子进程完成时发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境,剩余的部分称之为僵停(僵尺zombie)。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行其自己的程序代码。 三.进程状态: 在多任务处理操作系统中,每个CPU(或核心)在一个时间点上只能处理一个进程,在进程运行时,它对CPU时间和资源分配的要求会不断变化,从而为进程分配一个状态,它随着环境要求而改变。