pra*_*tri 5 c fork systems-programming
我读到使用vfork()系统调用创建的新进程作为父地址空间中的线程执行,直到子线程不调用exit()或exec()系统调用,父进程被阻塞.所以我用vfork()系统调用编写了一个程序
#include <stdio.h>
#include <unistd.h>
int main()
{
pid_t pid;
printf("Parent\n");
pid = vfork();
if(pid==0)
{
printf("Child\n");
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我得到的输出如下:
Parent
Child
Parent
Child
Parent
Child
....
....
....
Run Code Online (Sandbox Code Playgroud)
我假设return语句必须在内部调用exit()系统调用,所以我只期望输出
Parent
Child
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么实际上它不会停止并持续打印无限循环.
| 归档时间: |
|
| 查看次数: |
5884 次 |
| 最近记录: |