操作系统实验一:进程控制中的父子协作进程
发布时间
阅读量:
阅读量
问题描述
借鉴上述示例程序中所采用的并发进程构建方式,设计一个具备父子协作功能的进程系统。其中,父进程负责生成子进程,并对其运行进行管控,确保其能够按照设定的时间间隔,即每3秒执行一次当前目录下文件名称列表的展示操作。
设计思路概述
父进程生成子进程后,会处于等待状态直至子进程执行完毕。在子进程中,通过执行 ls 命令再次产生了一个名为 ps 的子进程(创建两个子进程并非强制要求),随后同样进入等待状态以确保子进程的完成。当 ls 命令执行结束后,由于设置了信号量 sleep(3),程序将在 3 秒后重新运行,形成循环操作,直至用户手动终止程序。
程序实现
Pctl.c
#include "pctl.h"
int main(int argc, char *argv[])
{
char *args[] = {"/bin/ls","-a",NULL}; //子进程要缺省执行的命令
int pid_1,pid_2; //存放子进程号
int status_1,status_2; //存放子进程返回状态
while(1){
pid_1=fork() ;
if(pid_1<0) // 建立子进程失败?
{
printf("Create Process fai
全部评论 (0)
还没有任何评论哟~
