在Linux环境下,编写一个C语言程序,使用fork()函数实现子进程的创建。编译并运行该程序,观察父进程和子进程的PID。
时间: 2024-12-12 11:23:51 浏览: 26
在Linux环境下,你可以使用C语言编写一个简单的程序来演示如何通过`fork()`函数创建子进程。下面是一个基本的例子:
```c
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#define MAX_PROCESSES 5
int main(int argc, char *argv[]) {
pid_t childPID;
int i;
if (argc > 1) {
printf("Usage: %s\n", argv[0]);
return -1;
}
for (i = 0; i < MAX_PROCESSES; ++i) {
childPID = fork();
// 如果返回值大于0,说明是父进程,子进程已创建
if (childPID > 0) {
printf("Parent process (%d) created child process with PID: %d\n", getpid(), childPID);
}
// 如果返回值等于0,说明是子进程
else if (childPID == 0) {
printf("Child process (%d) started.\n", getpid());
// 子进程可以添加更多操作...
}
// 如果返回值小于0,表示fork失败
else {
perror("Fork failed");
exit(EXIT_FAILURE);
}
sleep(1); // 程序暂停一下,以便查看进程列表
}
return 0;
}
```
编译这个程序,假设文件名为`parent_child.c`,命令如下:
```
gcc parent_child.c -o parent_child
```
然后运行它,例如:
```
./parent_child
```
这将创建几个子进程,并显示每个子进程的PID以及父进程的信息。
阅读全文