如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第七章Linux环境编程7.1系统调用和库函数7.1.1系统调用7.1.2库函数7.2进程控制7.2.1进程的基本概念7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用#include<sys/types.h>#include<unistd.h>intmain(){pid_tpid;printf("just1processnow.\n");printf("callingfork()...\n");pid=fork();if(pid==0)printf("Iamthechild.\n");elseif(pid>0)printf("Iamtheparent.\n");elseprintf("forkfailed.\n");printf("programend.\n");}7.2.2进程控制的相关系统调用#include<sys/types.h>#include<unistd.h>intmain(){pid_tpid;printf("PIDbeforfork():%d\n",(int)getpid());pid=fork();if(pid<0)printf("errorinfork.");elseif(pid==0)printf("Iamthechildprocess,myprocessIDis%d\n",getpid());elseprintf("Iamtheparentprocess,myprocessIDis%d\n",getpid());}#include<stdio.h>intmyvar=0;intmain(){intpid;pid=fork();if(pid<0){printf("forkfailed.");exit(-1);}elseif(pid==0){printf("childprocessexecuting.\n");myvar=1;}else{wait();printf("childcomplete.\n");myvar++;printf("father,myvar=%d\n",myvar);exit(0);}}7.2.2进程控制的相关系统调用#include<sys/types.h>#include<stdio.h>#include<unistd.h>intmain(){pid_tpid;if((pid=vfork())<0){printf("forkerror!\n");exit(1);}elseif(pid==0)printf("Childprocessisprinting.\n");elseprintf("Parentprocessisprinting.\n");exit(0);}7.2.2进程控制的相关系统调用#include<sys/types.h>#include<unistd.h>intmain(intargc,char*argv[]){intp;printf("[1]%s:BEGIN\n",argv[0]);p=fork();if(p>0)printf("[2]parent,p=%d\n",p);elseif(p==0)printf("[3]child,p=%d\n",p);elseperror("createnewprocess");printf("[4]MyPID%d,Parent'sPID%d\n",getpid(),getppid());printf("[5]%s:END\n",argv[0]);}7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用#include<unistd.h>intmain(){intpid;pid=fork();if(pid>0)printf("childprocessis%d\n",pid);elseif(pid==0){execl("/bin/ls","ls","-l","forkexec.c",0);perror("execlp");}printf("Bye!\n");}7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用7.2.2进程控制的相关系统调用#include<sys/types.h>#include<sys/wait.h>#include<unistd.h>#include<stdlib.h>intmain(){pid_tpc,pr;pc=fork();if(pc