⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 实例8-11.c

📁 Linux下C语言编程例子
💻 C
字号:
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
main()
{
pid_t pc, pr;
pc=fork();
if(pc<0)		/* 如果fork出错 */
printf("Error occured on forking.\n");
else if(pc==0){		/* 如果是子进程 */
sleep(10);	/* 睡眠10秒 */
exit(0);
	}
/* 如果是父进程 */
do{
pr=waitpid(pc, NULL, WNOHANG);	/* 使用了WNOHANG参数,waitpid不会在这里等待 */
if(pr==0){			/* 如果没有收集到子进程 */
printf("No child exited\n");
sleep(1);
		}
	}while(pr==0);		/* 没有收集到子进程,就回去继续尝试 */
	if(pr==pc)
		printf("successfully get child %d\n", pr);
	else
		printf("some error occured\n");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -