0
当执行这一块操作系统代码我收到信息“退出值255”。我通过键盘接收命令,并且我得到了字符串正确的信息。当我收到错误信息时,程序不显示(例如)键盘接收到的ls -lc WEXITSTATUS()退出255
printf("Command? ");
scanf(" %99[^\n]", str);
p = fork();
if(p > 0){ //Dad wait for the child
wait(&status);
if(WIFEXITED(status)){
printf("%d\n",WEXITSTATUS(status));
}
}else{ //Child execute the execlp
execlp(str, str,NULL);
exit(-1);
}
谢谢! Mark
'exit -1;'是原因。顺便说一句:你进入scanf()行到底是什么?注意:'ls -l'不是一个程序。 'ls'是。 – wildplasser
1)是的,现在帮助过程有一个状态= 1这是很好的! 2)所以...我不能在execlp中使用ls -l? – Mark