linux 循环fork并等待其结束
来源:互联网 发布:智能遥控器软件 编辑:程序博客网 时间:2024/06/12 08:57
fork子进程,在父进程里等待其结束,然后再fork下一个子进程,如此循环往复!
/* description: fork child process. * * * date : 2015/11/15 * **/#include <stdio.h>#include <sys/wait.h>#include <sys/time.h>#include <unistd.h>#include <stdlib.h>int main(int argc, char *argv[]){ struct timeval tvbegin, tvend; gettimeofday(&tvbegin, NULL); int i; for(i = 1; i <= 3; i++) { //-----------------fork child process int status; int child = fork(); if(child == -1) { printf("error\n"); } else if(child == 0) { printf("---Child %d began.\n", i); exit(0); } else { pid_t ret; do { ret = waitpid(child, &status, WNOHANG); printf("Parent waiting...\n"); usleep(1000); } while (ret == 0); printf("Child %d (pid:%d) ended.\n", i, child); } } gettimeofday(&tvend, NULL); printf("cost %d ms.\n", (tvend.tv_sec-tvbegin.tv_sec)*1000+(tvend.tv_usec-tvbegin.tv_usec)/1000); return 0;}
运行结果
[root@localhost training]# ./test
Parent waiting…
—Child 1 began.
Parent waiting…
Child 1 (pid:2795) ended.
Parent waiting…
—Child 2 began.
Parent waiting…
Child 2 (pid:2796) ended.
Parent waiting…
—Child 3 began.
Parent waiting…
Child 3 (pid:2797) ended.
cost 7 ms.
0 0
- linux 循环fork并等待其结束
- Delphi 调用外部程序并等待其运行结束
- 运行一个 DOS 命令,并等待其结束
- Delphi 调用外部程序并等待其运行结束
- Delphi 调用外部程序并等待其运行结束
- Delphi调用外部程序并等待其运行结束
- Delphi 调用外部程序并等待其运行结束
- VB 执行其他程序并等待其结束
- [delphi]调用外部程序并等待其运行结束
- windows运行一个程序并等待其结束。
- 如何让Delphi调用外部程序并等待其运行结束
- MASM32编程用两种方法运行外部程序并等待其结束
- 如何让Delphi调用外部程序并等待其运行信息(如结束)
- 如何让Delphi调用外部程序并等待其运行信息(如结束)
- 运行程序并等待结束
- LINUX 循环fork()
- LINUX 循环fork()
- 启动外部程序并等待它结束
- DL:DBN on Imbalance Data 问题所在
- sphinx全文检索类
- android中的style部分属性值介绍
- Twitter api 接口类
- 存储器总结二
- linux 循环fork并等待其结束
- 使用YUM 下载源码
- zip php压缩类
- 课时10第三章:方法
- C# DateTime 日期加1天 减一天 加一月 减一月 等方法
- HDU 2092
- STM32的定时器中断
- 遇到的问题: server sql 修改表,居然不让修改,百度解决
- 查看电脑型号