- 进程的概念:进程是程序中的一次执行过程,也是程序执行(系统调度)和资源分配的最小单元
- 进程和程序的区别:进程是动态的过程,而程序是保存在磁盘中的有序集合的静态代码。
- 进程生命过程:动态创建、调度和消亡的整个过程。
- 进程运行在独立的虚拟地址空间上,因此,即使一个进程发生异常,也不会影响到系统中的其他进程
- 使用getppid()得到的是bash的进程pid
- 进程的执行模式分为用户模式和内核模式:内核模式下的进程不受用户的干扰,可执行机器的特权指令
- 进程的启动途径有手动启动和调度启动
- sys/types.h 提供pid_t的定义
- 由于子进程是父进程的完全复制,故父子进程会同时运行长度在一个程序中
- exec函数族使用情形:进程作用失效需要重生;进程需要执行另一个程序
- exec函数族中最终实际运行的函数为execve();故其执行效率最高
- exit();_exit()都是终止进程的函数;exit();退出时会保存缓存I/O中的内容;故使用exit();安全,避免数据的丢失;_exit();使用效率高,但是存在数据丢失的风险。
- wait();是waitpid();的非阻塞版本函数;非阻塞的参数为WNOHANG
- 守护进程经常在系统引导载入是启动,在系统关闭时终止
- 守护进程的创建过程/步骤:1、创建子进程,父进程退出(形成孤儿今晨);2、在孤儿子进程中创建会话(子进程真正成为独立的进程的一步,使其脱离其他进程的控制)最重要的一步,意义重大;3、改变当前目录为根目录或者自定义目录(避免守护进程在用户变动过程中因权限的问题而出现问题);4、重设文件权限掩码(使操作守护进程更加灵活);5、关闭进程打开的文件;即关闭所有文件文件描述符(避免父进程打开的文件成为消耗系统资源的文件;避免文件系统无法进行其他操作)
- 进程组的概念:一个或多个进程的集合。进程所属的组;进程组都有唯一的进程组ID,且这个进程组ID为进程组中进程组长的PID!且这个进程组ID不应进程组长的退出而失效。
- 会话期:会话期是一个或多个进程组的集合;一般地会话期开始于用户登录,终止与用户退出;在此期间该用户运行的进程都属于这个会话期
- 系统日志服务函数:openlog(); syslog(); closelog();
进程控制开发
最新推荐文章于 2024-01-09 22:16:22 发布