姓名:馮成??學(xué)號:19020100164??學(xué)院:丁香二號書院
轉(zhuǎn)自:https://feixiaoxing.blog.csdn.net/article/details/7223024
【嵌牛導(dǎo)讀】本文將介紹linux下的C語言開發(fā)中的進程等待
【嵌牛鼻子】linux?C語言?進程等待
【嵌牛提問】linux下的C語言開發(fā)中的進程等待是什么廉羔?
所謂進程等待,其實很簡單。前面我們說過可以用fork創(chuàng)建子進程,那么這里我們就可以使用wait函數(shù)讓父進程等待子進程運行結(jié)束后才開始運行。注意,為了證明父進程確實是等待子進程運行結(jié)束后才繼續(xù)運行的,我們使用了sleep函數(shù)伴澄。但是,在linux下面阱缓,sleep函數(shù)的參數(shù)是秒非凌,而windows下面sleep的函數(shù)參數(shù)是毫秒。
#include?
#include?
#include?
int?main(int?argc,?char*?argv[])
{
pid_t?pid;
pid?=?fork();
if(0?==?pid)
{
printf("This?is?child?process,?%d\n",?getpid());
sleep(5);
}
else
{
wait(NULL);
printf("This?is?parent?process,?%d\n",?getpid());
}
return?1;
}
下面荆针,我們需要做的就是兩步清焕,首先輸入gcc?fork.c?-o?fork并蝗,?然后輸入./fork,就會在console下面獲得這樣的結(jié)果秸妥。
[root@localhost?fork]#?./fork
This?is?child?process,?2135
This?is?parent?process,?2134