如何创造;在一个人自己创建的shell中?

时间:2015-11-13 14:19:40

标签: shell

我想我应该将三个案件分开。如果它是一个单独的命令,没有输入或输出文件。一个有输入文件,另一个有输出文件?

1 个答案:

答案 0 :(得分:0)

实际上你应该把它分开4个案例!你忘记了父亲的过程!父亲必须等待儿子进程(即你通过的命令)实际上已经完成以再次控制。

我的建议是为父亲添加一个waitpid:

case 1:                                // ;
            p=fork(); //bacause the father is still running while the son is processing                     
            if(p==0){// you should add the father case
                return 0;                
            }else{                            //father
                waitpid(//the parameter to add)    
                output=0;
                input=0;
                execute=1;    
            }
            break;