proc -x cshell fork()

 1 #include <stdlib.h>
 2 #include <stdio.h>
 3 #include <unistd.h>
 4 #include <string.h>
 5 #define MAXLINE 10
 6 int main(void)
 7 {
 8 char buf[MAXLINE];
 9 pid_t pid;
10 int status;
11 printf("%%");
12 while(fgets(buf,MAXLINE,stdin)!=NULL){
13     if(buf[strlen(buf)-1] == \n)
14         buf[strlen(buf)-1] = 0;
15 if (( pid = fork()) < 0 )
16     printf("fork error\n");
17 else if (pid == 0){
18     execlp(buf,buf,(char *)0);
19     printf("could not execute : %s\n",buf);
20     exit(127);
21     }
22 if((pid = waitpid(pid,&status,0))<0)
23     printf("waitpid error\n");
24 }
25 }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。