Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305435
  • 博文数量: 52
  • 博客积分: 814
  • 博客等级: 军士长
  • 技术积分: 689
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-21 19:41
文章分类
文章存档

2017年(1)

2016年(2)

2014年(1)

2012年(42)

2011年(6)

分类: LINUX

2012-05-04 10:55:31

process: 进程是一个正在执行的程序实例,是linux调度的基本单位。
常用进程ID:PID
父进程ID:PPID
 
创建进程  : pid_t fork(void)
 
获取进程id : gepid(void)  ;getppid(void)
 
等待进程:子进程死掉,但是依然保留在进程表里面,为了避免出现这种状态,就用waitpid()函数。
 
waitpid(pid_t  pid,int *status, int options).
 
》pid 等待进程的PID
> status 保存子进程的状态
-1  
 
1
 
0
 
>0
 
》options 规定waitd调用的行为,填零即可。
 
 
程序中:
 
 
switch
{
   case -1:       // fault
 
   case 0 :       // child process
 
   default:       // father process
 
   waitpid(child,&status,0)
 
   printf("this is father process ")
}
 
 
 
程序使用waitpid()专门等待child指定的子进程返回,这样只有子进程退出后,父进程才停止执行。试想下如果不这么做会带来什么样的后果????
阅读(778) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~