使用fork系统调用,编写一段进程创建的c程序,实现从父进程创建一个子进程,在父子进程中分别输出不同的提示信息
时间: 2024-10-22 13:11:10 浏览: 45
在C语言中,可以使用`fork()`系统调用来创建一个新的子进程。下面是一个简单的示例,演示了如何实现从父进程创建子进程并在两者之间输出不同的提示信息:
```c
#include <stdio.h>
#include <unistd.h>
int main() {
// 创建子进程
pid_t child_pid = fork(); // fork函数返回0表示当前进程是子进程,非0值表示父进程
if (child_pid == 0) { // 子进程分支
printf("这是子进程,我将输出:Hello from Child!\n");
exit(0); // 子进程结束
} else if (child_pid > 0) { // 父进程分支
printf("这是父进程,我将输出:Hello from Parent!\n");
} else {
perror("Fork failed"); // 如果fork失败,打印错误信息
return -1;
}
// 父进程等待子进程结束(如果需要)
wait(NULL);
return 0;
}
```
在这个例子中,`fork()`函数创建了一个新的子进程。在子进程分支,它会打印"Hello from Child!";而在父进程分支,它会打印"Hello from Parent!"。子进程结束后,父进程通过`wait()`函数等待子进程完成。
运行这个程序,你会看到一次"Hello from Parent!",然后"Hello from Child!"交替出现,因为它们是按顺序执行的。
阅读全文