关于fork()#include #include int main() { time_t t;time(&t);int flag=fork(),i;if(flag==0){for(i=0;i

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 19:19:55
关于fork()#include #include int main() { time_t t;time(&t);int flag=fork(),i;if(flag==0){for(i=0;i

关于fork()#include #include int main() { time_t t;time(&t);int flag=fork(),i;if(flag==0){for(i=0;i
关于fork()
#include
#include
int main()
{
time_t t;
time(&t);
int flag=fork(),i;
if(flag==0)
{
for(i=0;i

关于fork()#include #include int main() { time_t t;time(&t);int flag=fork(),i;if(flag==0){for(i=0;i
原因:sleep(1000)时间过长 ,在子进程没运行完时父进程已经运行完,你可以把1000改成1测试下 会打印三次,但是由于父进程已经运行完,会回到shell下继续输出,其实你sleep(1000) 也能打印三次,不过要等 1000s,你可以用ps 命令查看进程 “./a.out” 的进程一定还在,用 kill -9 + 进程id 可杀死该进程;
如果非要在子进程打印三次每次1000s 可以让父进程等待子进程结束后再结束;
另外:fork一个子进程时,父子进程不一定先运行哪一个,但是在ubuntu系统下大多数时候会先运行父进程,记住不是确定先运行!