0
int spawn(char* program, char** args) {
pid_t child_pid;
child_pid = fork();
if(child_pid > 0) {/
wait(NULL);
return (int)child_pid;
}
else {
if(execvp(program, args) == -1){
exit(EXIT_FAILURE);
}
return (int)child_pid;
}
}
我知道这段代码有点混乱,但请耐心等待:我试图创建自己的shell。这是启动一个新的子进程并执行代码的函数。但是,我输入字符串时无法返回错误。当execvp找不到程序时返回错误
例如,如果我输入“heyman”,我只是想回到'heyman',而我想得到某种错误('heyman'不是命令)。
我希望退出(EXIT_FAILURE)会这样做,但它没有。希望如果有人能帮我在这里
工作。你能告诉我你是如何知道这个或你从哪里找到的?我想知道一个我可以用于linux编程的源代码,而不是经常问问题 – qaispak
我在哪里学习了'perror()'?我不记得,我已经了解了20多年。任何体面的Unix编程教科书都应该有它。 – Barmar