/*Try to run an external command*/ static void RunExternalCmd(commandT* cmd, bool fork) { // printf("---------------------In RunExternalCmd------------------------\n"); //bg,fg,cd if (strcmp(cmd->argv[0],"fg") ==0 ){ GetBgpToFg(cmd); return; } if (strcmp(cmd->argv[0],"bg") == 0){ RunCmdBg(cmd); return; }else if(strcmp(cmd->argv[0],"jobs") == 0){ Printjoblist(); return; } if (ResolveExternalCmd(cmd)){ Exec(cmd, fork); } else { printf("%s: command not found\n", cmd->argv[0]); fflush(stdout); ReleaseCmdT(&cmd); } // printf("---------------------out RunExternalCmd------------------------\n"); }
/* * RunCmd * * arguments: * commandT *cmd: the command to be run * * returns: none * * Runs the given command. */ void RunCmd(commandT* cmd) { if (cmd->argc <= 0){ return; } if (IsBG(cmd)){ //printf("this is BGGGG"); RunCmdBg(cmd); } else{ RunCmdFork(cmd, TRUE); } } /* RunCmd */