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