码迷,mamicode.com
首页 > 系统相关 > 详细

实验5 - 进程管理

时间:2015-08-31 14:56:01      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

实验目的:

熟悉Linux中进程创建函数的应用。

 

实验内容:

程序1:

  • 用fork()函数完成子进程的创建。
  • 父进程中输出word, 子进程中输出hello
  • 运行休眠函数实现子进程先执行
 1 #include<stdio.h>
 2 #include<sys/types.h>
 3 #include<unistd.h>
 4 #include<stdlib.h>
 5 int main()
 6 {
 7     pid_t pid;
 8     if((pid = fork()) == 0)
 9     {
10         //child process
11         printf("hello\n");
12         exit(0);
13     }
14     else if(pid > 0)
15     {
16         //parent process
17         sleep(5);
18         printf("word\n");
19         exit(0);
20     }
21     else
22     {
23         printf("fork() error\n");
24         exit(0);
25     }
26 }

 

 

fork()调用失败返回-1。

fork函数调用失败的原因主要有两个:

  • 系统中已经有太多的进程
  • 该实际用户ID的进程总数超过了系统限制

fork调用成功会返回两次。

  • 在父进程中,它返回一次,返回值是新派生的子进程ID号
  • 而在子进程中它还返回一次,返回值为0,因此可以通过返回值来区别当前进程是子进程还是父进程。

 

fork调用后,父进程和子进程继续执行fork函数后的指令,是父进程先执行还是子进程先执行是不确定的,

 

实验5 - 进程管理

标签:

原文地址:http://www.cnblogs.com/elewei/p/4772864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!