1

コマンドを実行できないときはいつでも「バイナリの実行エラー: -nameOfBinary-」と表示されるシェルを作成しようとしています。しかし、問題は、「そのようなファイルまたはディレクトリはありません」というメッセージが常に表示されることです。私のコードの一部は次のとおりです。

void handle_SIGINT() {
  write(STDOUT_FILENO,line,strlen(line));
  printf("\n");
  struct sigaction handler;
  handler.sa_handler = handle_SIGINT;
  sigaction(SIGINT, &handler, NULL);
}

void runcommand(char* argv[]) {
  int p =fork();
  if(p==0) {
    struct sigaction handler;
    handler.sa_handler = SIG_IGN;
    sigaction(SIGINT, &handler, NULL);
    execvp(argv[0],argv);
    perror("Error executing binary");
    exit(1);
  } else {
    wait(NULL);
  }

}

コードをそのまま使用すると、「バイナリの実行エラー: そのようなファイルまたはディレクトリはありません」というメッセージが常に表示されます。これは、私が望むものに近いものです! どうすれば修正できますか?前もって感謝します!

4

1 に答える 1