进程是已经启动的可执行程序的运行实例,进程有一下部分组成
1.已经分配内存的地址空间;
2.安全属性,包括所有权凭据和特权;
3.程序代码的一个或多个执行县城;
4.进程状态。
程序
:二进制文件,静态/bin/date,usr/sbin/httpd,/usr/sbin/sshd,/usr/local/nginx/sbin/ngix
进程:
是程序运行的过程,动态,有生命周期及运行状态
进程的生命周期:
父进程复制自己的地址空间(fork)创建一个新的(子)进程结构。每个新进程分配一个唯一的进程ID(PID),满足跟踪安全性之需。PID和父进程ID(PPID)是子进程环境的元素,任何进程都可以创建子进程,所有进程都是第一个系统进程的后代。子进程继承父进程的安全性身份、过去和当前的文件描述符、端口和资源特权、环境变量,以及程序代码。随后,子进程可能运行自己的代码。通常,父进程在子进程运行期间处于睡眠(sleeping)状态。当子进程完成时发出(exit)信号请求,在退出时,子进程已经关闭或丢弃了其资源环境,剩余的部分称之为僵停(僵尸Zombie)。父进程在子进程退出时收到信号而被唤醒,清理剩余的结构,然后继续执行自己的程序代码。
进程的几种状态
R:运行状态,可执行状态。
S:可中断的睡眠状态。
D:不可中断的睡眠状态。
T:暂停状态或跟踪状态。
Z:退出状态,进程成为僵尸进程。
X:退出状态,进程即将被销毁。
Ss:s进程的领导者,父进程
S<:<优先级较高的进程
SN:N优先级较低的进程
R+:+表示是前台的进程组
Sl:以线程的方式运行