【发布时间】:2021-09-17 06:18:48
【问题描述】:
父进程通过调用 fork() 系统调用来创建子进程。父母和 子进程运行相同的程序,因为 fork 创建父进程的精确副本。是吗 子进程可以运行其他程序吗?如果是那怎么办,如果不是那为什么?
【问题讨论】:
-
查找
execv命令
标签: process operating-system fork
父进程通过调用 fork() 系统调用来创建子进程。父母和 子进程运行相同的程序,因为 fork 创建父进程的精确副本。是吗 子进程可以运行其他程序吗?如果是那怎么办,如果不是那为什么?
【问题讨论】:
execv 命令
标签: process operating-system fork
您可以在子组件和父组件中具有不同的实现,因为 fork() 将 0 返回到子组件,将子组件的进程 ID 返回到父组件。
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
void forkexample()
{
// child process because return value zero
if (fork() == 0)
printf("Hello from Child!\n");
// parent process because return value non-zero.
else
printf("Hello from Parent!\n");
}
int main()
{
forkexample();
return 0;
}
【讨论】: