wait.c(代码):
#include
#include
#include
#include
void main()
{
pid_t pc,pr;
pc=fork();
if(pc==0)/*******如果是子进程***************/
{
printf("This is child process with pid of %d\n",getpid());
sleep(10);/******睡眠10秒钟************/
}
if(pc>0) /**********如果是父进程************/
{
pr=wait(NULL);/*************等待******/
printf("I catched a child process with pid of %d\n",getpid());
}
}
执行fork命令之后,如果fork的返回值是0,就是运行子进程的if语句,紧接着打印This is child process with pid of。。。,然后进入睡眠10秒钟,在这10秒钟,子进程是进入休眠状态,CPU 空闲,所以这10秒是父进程在使用CPU,由程序可以知道,父进程进入了if(pc>0)的if语句中,然后等待进入等待,等待10秒后,子进程醒过来,释放CPU,然后父进程使用CPU打印:I catched a child .................两条打印语句是先打印上面这条,再打印下面的那条。
进程等待--------程序流程_PN情结-ChinaUnix博客
原创xiaozixu3242 ©著作权
©著作权归作者所有:来自51CTO博客作者xiaozixu3242的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇: 滑动窗口与拥塞窗口_流云哭翠-ChinaUnix博客
下一篇:我的友情链接
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
[ Linux ] 进程控制(下)----进程等待与进程程序替换
本小节继续承接上文进程控制继续对进程控制中的进程等待和进
linux 运维 服务器 子进程 #include