在程序中创建一个子进程 使父子进程打印不同的内容 linux
时间: 2024-12-16 17:31:21 浏览: 1
Linux中使用C语言的fork()函数创建子进程的实例教程
在Linux中,你可以通过系统调用来创建子进程,并让父子进程各自执行不同的任务。一种常见的方法是使用`fork()`函数。下面是一个简单的例子,展示了如何创建一个子进程并使其打印不同的信息:
```bash
#include <stdio.h>
#include <unistd.h>
// 父进程部分
int main() {
pid_t child_pid; // 子进程ID
// fork()调用,如果成功返回子进程ID,0表示子进程自身
if ((child_pid = fork()) > 0) { // 父进程
printf("这是父进程,PID: %d\n", getpid());
sleep(1); // 等待一秒,给子进程时间执行
printf("父进程将终止。\n");
wait(NULL); // 父进程等待子进程结束
} else if (child_pid == 0) { // 子进程
printf("这是子进程,PID: %d\n", getpid());
printf("子进程的内容:Hello, Subprocess!\n");
exit(0); // 子进程结束
} else {
perror("Fork failed");
return -1;
}
return 0;
}
```
在这个例子中,父进程首先会创建一个新的子进程,然后分别在两个进程中打印出不同的消息。父进程会先打印自己的PID,稍作延迟后结束;而子进程则会立即打印它的PID和额外的信息。
阅读全文