资源简介
山东大学 软件学院 2017-2018学年春季
操作系统实验一
独立实验答案
代码片段和文件信息
/*
Author: KMDJ
PublishedOn: CSDN
Filename: exp1.c
*/
#include “exp1.h“
int main(int argc char *argv[]){
int i;
int pid1;
int pid2;
int status1;
int status2;
char *arg1[] = {“/bin/ls“ “-a“ NULL};
char *arg2[] = {“/bin/ps“ “-l“ NULL};
signal(SIGINT(sighandler_t)sigcat);
pid1=fork();
if(pid1<0){
printf(“Create Process failed!\n“);
exit(EXIT_FAILURE);
}
if(pid1==0){
printf(“I am Child process %d\nMy father is %d\nI will execute command ‘ls -a‘ later\n“ getpid() getppid());
printf(“\n“);
pause();
printf(“%d child will Running: \n“ getpid());
for(i=0; arg1[i]!=NULL; i++) printf(“%s“ arg1[i]);
printf(“\n“);
status1=execve(arg1[0] arg1 NULL);
}
else{
sleep(1);
pid2=fork();
if(pid2==0){
printf(“I am Child process %d\nMy father is %d\nI will execute command ‘ps -l‘ later\n“ getpid() getppid());
printf(“\n“);
pause();
printf(“%d child will Running: \n“ getpid());
for(i=0; arg2[i]!=NULL; i++) printf(“%s“ arg2[i]);
printf(“\n“);
printf(“\n“);
status2=execve(arg2[0] arg2 NULL);
}
else{
sleep(1);
printf(“\nI am Parent process %d\n“ getpid());
if(kill(pid2SIGINT)>=0)
printf(“\n%d wakeup %d child.\n“ getpid() pid2);
printf(“%d wait for child done.\n“ getpid());
waitpid(pid2 &status1 0);
printf(“%d child process done.\n“ pid2);
if(kill(pid1SIGINT)>=0)
printf(“\n%d wakeup %d child.\n“ getpid() pid1);
printf(“%d wait for child done.\n“ getpid());
waitpid(pid1 &status1 0);
printf(“%d child process done.\n“ pid1);
printf(“\nParent process done\n“);
}
}
return EXIT_SUCCESS;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14984 2018-05-26 10:15 exp1
文件 1984 2018-07-14 17:24 exp1.c
文件 247 2018-06-05 13:02 exp1.h
文件 7416 2018-05-26 10:15 exp1.o
文件 182 2018-05-26 09:55 Makefile
相关资源
- mingw-w64压缩包
- ImageFusion.zip
- STM32Cube_fw_F4_V1.24.1 CubeMX的F4系列的封装
- 未来教育考试系统.zip
- 西安科技大学 程序设计大赛总决赛原
- 矩阵乘法及两种求逆方法
- 华南农业大学数据结构上机题目答案
- Proteus8.9 仿真STM32407ZGT6系列基础模板
- 经典的背包问题九讲,必看
- 最新的libssh2库源码
- 信息学奥赛一本通课后练习答案汇总
- 操作系统实验生产者与消费者实验报
- 学生管理系统 根据数据结构的链表知
- VC使用jmail.dll编写电子邮件发送和接受
- 哈工程本科算法实验-0-1背包动态规划
- linux 下c实现简单的网络嗅探器
- 计算机图形学四面体几何变换.doc
- SWMM51014代码编译及扩展案例182387
- conio.h头文件
- 利用栈求表达式的值
- LINUX 下的超声波驱动
- 五子棋 Linux make
- 基于单片机的正弦波设计程序幅度和
- VHDL 的程序
- 蓝桥杯历年真题视频解析
- 《数据结构及算法经典》源代码.
- GD32F303 串口+DMA 收发数据
- 基于OpenGL的场景迷宫漫游可以碰撞检
- STDLIB.H头文件
- udp 多线程实现多客户端并发,并采用
评论
共有 条评论