在调用exec之后,是否可以打印消息,因为我尝试过并没有发生任何事情。我读了一些关于exec的文章,但我找不到答案。它用新的过程映像替换过程映像,但不创建新过程。是它的一部分吗?如果我在子进程中使用它,它是否等待我的意思,它是否等待结束子进程?
我可举这个例子:
char *args[6] = { "cat","-b","-t","-v",argv[1],0};
else if(pid == 0){
printf("Child Process ID:%d, Parent ID:%d, Process
Group:%d\n",getpid(),getppid(),getgid());
execv("/bin/cat",args);
printf("AHMET TANAKOL\n");
}
答案 0 :(得分:3)
exec
系列,就像您已经阅读过的那样,替换了过程映像。也就是说,它会加载新程序,删除程序,并开始运行新程序来代替程序。
除非出现错误,否则不会再次调用exec
函数。