Esempio n. 1
0
/*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");
}
Esempio n. 2
0
/*
 * 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 */