进程控制开发

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