APUE学习笔记 - Chapter 8. Process Control

1.进程标识
    每个进程都有一个全局唯一的Process ID。通常进程0是swapper,进程1为init.
2.进程创建
   在进程里创建子进程可以使用fork函数,通常fork函数失败的原因有,系统中的进程过多,当前用户创建的进程过多。
   子进程会复制父进程的:数据段,栈,堆,而代码段是两者共享的。
   父进程打开的文件会dup to 子进程,共享一份文件列表条目,因此会共享文件的偏移量。
   vfork函数不会复制父进程的内存,而且保证子进程先运行直到exec或者exit.
3.进程相关
    每个进程退出之后,系统会为该进程保存一小部分的信息,叫做process account,保存在特定的文件中,linux保存在/var/account/pacct中,因为是结束时写入的,因此是以结束时间排序的。保存信息如: 进程ID,结束状态与 总CPU时间。
    僵尸进程,是指进程结束时,其父进程并没有在等待它结束的进程。
    进程可以使用wait系列函数等待其他函数结束,并获取其返回值。

4.运行其他进程
    在进程中,可以通过调用exec调用其他程序,exec会将当前进程的text,data,heap与stack都替换成新的程序。

5.用户ID之间的关系:
read_pic?sid=VktxopM5RBhlU08D&pid=ZC0000OsDxhpP_QaGiokftiJmucw19

  

6.脚本文件

shell在运行程序时,先以二进制可执行文件的形式进行运行,如果失败,再以脚本的形式进行运行。通常以脚本程序第一行指定的程序,并以其他部分作为命令行参数作为输入。

7.system函数

提供了一个快捷的方式进行其他程序的运行,相当于fork+exec+wait,它内部实现了所需的错误处理与中断

处理。

转载于:https://www.cnblogs.com/liangxing/archive/2010/09/01/1814891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值