操作系统实验2 进程的创建

本文详细介绍了在Linux环境下使用fork()创建子进程,以及在其后的exec函数执行系统命令的过程,包括验证fork的返回值、子进程的退出状态管理和资源回收。同时讨论了警告处理、fork函数的不同返回情况和exec函数族的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实验题目:   进程的创建                                         

实验目的:(1)加深对进程概念的理解,进一步认识并发执行的性质;

(2)掌握Linux操作系统中进程的创建和终止操作;

(3)掌握在Linux操作系统中创建子进程并加载新映像的操作。

实验环境(硬件和软件) VMware Workstation,Linux        

实验内容:(慕课版书籍)

1)编写一个C程序,并使用系统调用fork()创建一个子进程。要求如下:①在子进程中分别输出当前进程为子进程的提示、当前进程的PID和父进程的PID、根据用户输人确定当前进程的返回值、退出提示等信息。②在父进程中分别输出当前进程为父进程的提示、当前进程的PID和子进程的PID、等待子进程退出后获得的返回值、退出提示等信息。

2)编写另一个C程序,使用系统调用fork()以创建一个子进程,并使用这个子进程调用exec函数族以执行系统命令ls。

实验步骤:

(1)本实验属于验证型实验,主要目的是验证forko的返回值。

1.1在主程序中通过fork()创建子进程,并根据返回值确定所处的进程是子进程还是父进程,然后分别在子进程和当前进程(父进程)中调用getpid()、getppid()、wait()等函数以完成实验内容。

1.2sleeep()函数,让进程挂起一段时间。

1.3WEXITSTATUS()函数,判断子进程是不是正常退出的:如果是,就返回一个非零值(子进程传送给exec 函数族的参数的低8位);如果子进程不是正常退出的,则返回0。

(2)在fork()调用之后于子进程中使用exec函数族执行ls命令。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值