# GXMZU COS Lab 03 Template **Repository Path**: guoquan/GXMZU-COS-Lab-03-Template ## Basic Information - **Project Name**: GXMZU COS Lab 03 Template - **Description**: GXMZU-COS-Lab-03-Template - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 71 - **Created**: 2025-03-19 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 实验03 进程控制 ## 实验目的 1. 加深对进程概念的理解,进一步认识并发执行的实质。 2. 掌握Linux操作系统中进程的创建和终止操作。 3. 掌握在Linux操作系统中创建子进程并加载新映像的操作。 ## 实验内容 1. 进程创建与管理 编写一个C/C++程序,并使用系统调用fork()创建一个子进程。要求如下: 1.1. 在子进程中分别输出当前进程为子进程的提示、当前进程的PID 和父进程的PID、根据用户输入确定当前进程的返回值、退出提示等信息 1.2. 在父进程中分别输出当前进程为父进程的提示、当前进程的PID 和子进程的PID、等待子进程退出后获得的返回值、退出提示等信息 【记录】实验运行结果 2. 执行新的程序 编写一个C/C++程序,使用系统调用fork()创建一个子进程,并在子进程中调用exec函数族执行新的程序。要求如下: 2.1. 调用exec前输出:当前进程为子进程的提示,当前进程的 PID 和父进程的 PID,即将执行新程序的提示 2.2. 子进程调用 exec 函数族执行系统命令。基础要求为执行 ls 命令,例如 /bin/ls 或 ls -l 2.3. 父进程输出:当前进程为父进程的提示,当前进程的 PID 和子进程的 PID,等待子进程结束的提示,子进程结束后的提示信息 【记录】实验运行结果【讨论】子进程结束后能否进一步输出其结束的提示信息? 2.4. (选作)在完成基本要求的基础上,可进一步扩展程序:由用户输入要执行的命令,子进程通过 exec 函数族执行该命令 (1)用户可输入一个简单命令,如:ls、date、whoami、pwd (2)父进程创建子进程后,由子进程执行用户输入的命令 (3)父进程等待子进程结束,并输出结束提示信息 (4)不要求支持复杂 shell 功能,如管道、重定向、多命令连接等 【记录】实验运行结果 ## 使用方式 Fork本仓库,拉取到实验环境完成实验,提交代码,在自己的仓库中下载完成的实验代码打包。 **注意**:实验仍通过课程规定的收件箱提交。