实验3

翻译 2015年11月18日 17:32:13

#include <stdio.h>

#include <stdlib.h>

#include <sys/types.h>

#include <unistd.h>

#include <sys/wait.h>

int main(void)

{

int child1, child2, child;

//创建子进程1

child1 = fork();

if(child1 == -1){//子进程1的出错处理

printf("Child1 fork error\n");

exit(1);

}  

else if(child1 == 0) //fork创建进程返回值为0说明现在是子进程

{

printf("In child1: execute 'ls-l'\n");

if(execlp("ls", "ls","-l", NULL) < 0) //该函数的最后一个参数必须为NULL

{

printf("Child1 execlp error\n");

}

}  

else{

child2 = fork();//在父进程中创建子进程2,然后等待两个子进程的退出

if (child2 == -1){//子进程2的出错处理

printf("Child2 fork error\n");

exit(1);

}

else if(child2 == 0){//在子进程2中使其暂停5s

printf("In child2: sleep for 5seconds and then exit\n");

sleep(5);

exit(0);

}

printf("In father process:\n");

child = waitpid(child1, NULL, 0); /* 阻塞式等待 */

if (child == child1){

printf("Get child1 exitcode\n");

}

else{

printf("Error occured!\n");

}

do{

child = waitpid(child2, NULL, WNOHANG);/* 非阻塞式等待 */

if (child == 0){ //由于子进程2未结束,waitpid()不阻塞而立即返回0,若结束,则返回子进程2的pid:child2,waitpid阻塞

printf("The child2 process has notexited!\n");

sleep(1);

}

} while (child == 0);

if(child == child2){

printf("Get child2 exitcode\n");

}

else{

printf("Error occured!\n");

}

}

exit(0);

}

quot;child1 noticed that child2 has exited");

 

     closelog();//关闭日志服务

     while(1)

     {

        sleep(10);

     }

   }

}

CSAPP 六个重要实验 lab3

CSAPP 六个重要实验 lab3
  • u011368821
  • u011368821
  • 2014年09月15日 17:00
  • 3765

实验吧 ctf 简单的sql注入3

ctf题 现在自己还是个小白 以后慢慢做题得出思路吧
  • ZweLL032
  • ZweLL032
  • 2017年03月11日 22:18
  • 4148

《数据结构》实验三:栈和队列实验

《数据结构》实验三:    栈和队列实验 一..实验目的      巩固栈和队列数据结构,学会运用栈和队列。 1.回顾栈和队列的逻辑结构和受限操作特点,栈和队列的物理存储结构和常见操...
  • itsLIANGYINGYI_
  • itsLIANGYINGYI_
  • 2014年11月05日 22:54
  • 1724

ucore-lab3 实验报告

练习一:给未被映射的地址映射上物理页   1、描述:   在lab2中我们实现并启动了分页机制,现在我们需要考虑什么情况下会产生页错误异常并触发中断。显答案是在指令或数据的虚拟地址所对应的物理页不在内...
  • cs_assult
  • cs_assult
  • 2015年06月19日 22:26
  • 2094

C++程序设计实验报告(七十七)---第十五周任务三(3-1)

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2012, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:输入...
  • qdliuzhen
  • qdliuzhen
  • 2012年05月27日 09:21
  • 412

南邮算法分析与设计实验3 回溯法

南邮算法分析与设计实验3 回溯法
  • Tc_To_Top
  • Tc_To_Top
  • 2015年06月03日 17:53
  • 1965

java实验3:流处理程序设计

题目3:流处理程序设计 实验目的和要求:要求学生能在学习和理解课堂学习内容中JAVA流编程理论的基础上,学习并逐步掌握JAVA流程序的编写和调试,学习根据处理需求对不同流的正确选择使用和组合...
  • caduca
  • caduca
  • 2014年12月09日 15:39
  • 2419

js实验4.(3)DOM元素操作

3、DOM用正文为空的dom.html,通过javascript的DOM操作,实现以下html网页(jys.html):  实现的javascript代码如下: DOM p {font...
  • qq_33826977
  • qq_33826977
  • 2017年04月16日 23:48
  • 538

南邮数据结构实验3 (2)飞机最少换乘

//VC6.0下编译 #include #include const int INF=2147483647; enum ResultCode{Underflow,Duplicate,Failure,...
  • Tc_To_Top
  • Tc_To_Top
  • 2015年01月31日 13:51
  • 1856

linux实验楼学习笔记3

环境变量与文件查找 一、环境变量 1. 变量 要解释环境变量,得先明白变量是什么,准确的说应该是 Shell 变量,所谓变量就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号...
  • feihun1
  • feihun1
  • 2017年08月07日 18:04
  • 175
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:实验3
举报原因:
原因补充:

(最多只允许输入30个字)