这个简单的程序应该运行命令ls
但是输出是1和2.有人可以解释为什么ls
无效?
#include <stdio.h>
main()
{
int pid,stat;
if((pid=fork())==0)
{
execl("/bin/","ls",NULL);
printf("1");
exit(1);
}
else
{
wait(&stat);
printf("2");
}
}
答案 0 :(得分:1)
尝试类似:
execl("/bin/ls", "ls", (char*)NULL);
^^^^