本次实验针对Linux操作系统中进程相关理论进行设计,要求编写程序并进行测试。代码主要模拟进程的创建。编写一个C (C++/Java)程序,并使用系统调用fork( )创建一个子进程。 (1)编写程序
时间: 2024-10-29 21:12:35 浏览: 31
在Linux环境下,你可以使用C语言编写一个简单的程序来演示进程的创建。以下是一个基本的C程序示例,它使用了`fork()`系统调用来创建一个子进程:
```c
#include <stdio.h>
#include <unistd.h> // 包含fork()函数
int main() {
pid_t pid; // 存储新生成的进程ID
int status;
// fork()会返回0给子进程,非零值给父进程
pid = fork();
if (pid == 0) { // 如果是子进程
printf("I am child process with PID: %d\n", getpid());
exit(0); // 子进程结束
} else if (pid > 0) { // 如果是父进程
printf("I am parent process with PID: %d, child process PID: %d\n", getpid(), pid);
wait(&status); // 父进程等待子进程结束
printf("Child process terminated.\n");
} else { // fork失败的情况
perror("Fork failed.");
return -1;
}
return 0;
}
```
这个程序首先通过`fork()`创建一个新的进程,然后检查返回值判断是父进程还是子进程。子进程会打印出自己的PID并结束,而父进程则会等待子进程结束后输出相关信息。
阅读全文