实验5 - 进程管理
实验目的:
熟悉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函数后的指令,是父进程先执行还是子进程先执行是不确定的,

浙公网安备 33010602011771号