【发布时间】:2017-02-04 11:39:23
【问题描述】:
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。这个函数将启动一个新的子进程并执行代码。但是,当我输入字符串时,我无法返回错误。
例如,如果我输入“heyman”,我只会返回“heyman”,而我想返回某种错误(“heyman”不是命令)。
我希望 exit(EXIT_FAILURE) 会这样做,但它没有。如果有人可以在这里帮助我,将不胜感激
【问题讨论】: