实验2进程创建与控制实验一、实验目的1.加深对进程概念的理解2.练习使用fork()系统调用创建进程3.练习使用wait()系统调用实现进程同步4.进一步练习Linux操作系统下C程序设计二、实验内容:使用fork()调用计算Fibonacci数列Fibonacci数列是0,1,1,2,3,5,8……。通常表示为:fib0=0,fib1=1,fibn=fibn-1+fibn-2…写一个C程序,使用fork()系统调用产生一个子进程来计算Fibonacci数列,序列项数通过命令行输入。例如,如果参数为5,Fibonacci数列的前5个数字将在子进程中被输出。因为父进程和子进程拥有各自的数据拷贝,所以需要由子进程输出。在退出程序之前,父进程调用wait()等待子进程完成。要求提供必要的错误检测以保证在命令行传递的参数是非负数。三、实验结果1.源代码:#includestdio.h#includestdlib.h#includeunistd.h#includesys/types.hintmain(intargc,char*argv[]){pid_tpid;inti;intf0,f1,f2;f0=0;f1=1;if(argv[1]0)fprintf(stderr,Requestanun-negativenumber);pid=fork();if(pid0){fprintf(stderr,Forkfailed);exit(-1);}elseif(pid==0){printf(argv[1]=%d\n,atoi(argv[1]));printf(01);for(i=2;i=atoi(argv[1]);i++){f2=f0+f1;f0=f1;f1=f2;printf(%d,f2);}printf(\nchildprocesscompleted\n);}else{wait(NULL);printf(parentprocessexited);}return0;}2.结果截图: