网站首页 > 物联资讯 > 技术分享

Linux下利用fork()创建子进程并使父进程等待子进程结束

2016-09-28 00:00:00 广州睿丰德信息科技有限公司 阅读
睿丰德科技 专注RFID识别技术和条码识别技术与管理软件的集成项目。质量追溯系统、MES系统、金蝶与条码系统对接、用友与条码系统对接 int status; pid_t t = fork(); if(t){     waitpid(t, &status, 0); }else{     system("vi temp.txt");     exit(0); } //父进程和子进程均执行完毕后继续执行下去   分析过程: if 和 else 还是选择分支。 
主要的原因是,fork() 函数调用一次,返回两次。两次返回的区别是:子进程的返回值是0,父进程返回值为新子进程的进程ID。返回后,父进程执行waitpid(t, &status, 0)等待子进程结束,而子进程进入另一个分支执行system("vi temp.txt");exit(0);,父子间并不冲突,可以形容这段代码父进程与子进程都执行了一次判断。RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成