我試圖從一個用戶輸入的子進程運行一個EXEC命令,它不打印/工作。execl()不起作用/打印
這裏是我的代碼:
char input[100];
int pid;
printf("$ ");
fgets(input, 100, stdin);
while (strncmp(input, "exit", 4)){
pid = fork();
if(pid == 0){
char str[105];
strcpy(str, "/bin/");
strcat(str, input);
printf("%s", str);
execl(str, input, NULL);
exit(0);
}
else if(pid < 0){ /* error while doing fork */
exit(1);
}
else{
wait(0);
}
printf("$ ");
fgets(input, 10, stdin);
}
exit(0);
您是否有任何錯誤或調試信息? – EWit 2014-12-03 17:30:13
我是新來的,所以沒有。它編譯好,但沒有打印出來,當我做ls – Mark 2014-12-03 17:44:53