コード例 #1
0
ファイル: runtime.c プロジェクト: luhuaipei/tiny_shell
/*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");
}
コード例 #2
0
ファイル: runtime.c プロジェクト: rfreim1/Simple-Linux-Shell
/*
 * 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 */