进程的定义:
进程区别于程序,进程是动态的,程序是静态的,进程就是正在运行中的程序
在Linux中可以使用ps或者pstree命令来查看系统中的进程
进程的几个特性:
1:动态性:进程是程序的执行,是程序在处理机上的一个活动
2:并发性:多个程序可以运行在同一个内存空间中
3:独立性:运行在同一虚拟空间中的几个进程互不干扰,是一个独立运行的基本单位
4:异步性:各个进程按照自己的进程运行的速度是不一样的
5:结构特性:每个进程都有自己的私有空间,在这个私有空间中,会涉及三个不同的段落,程序段,数据段,堆栈段构成
根据进程的几个特性,将进程分为以下几种进程:
孤儿进程:就是父进程已经结束,子进程依然进行的子进程
僵尸进程:父进程未运行结束,已经运行结束的子进程
守护进程:又叫做精灵进程,它提供系统服务,常常在系统启动时启动,仅在系统关闭时才终止,这种进程脱离终端,在后台运行
创建守护进几个步骤:
1:首先创造一个孤儿进程
2:创建一个新的会话,使用setsid()函数
3:改变当前目录,一般改为根目录,使用chdir()函数
4:重设文件权限掩码
5:关闭文件描述符
for(int i=0;i<MAXFILE;i++)
{
close(i);
}