- 论坛徽章:
- 0
|
学习《Unix环境高级编程》时遇到一个问题。
程序(第8章11节的例子):
#include "apue.h"
#include <sys/wait.h>
int
main(void)
{
pid_t pid;
if ((pid = fork()) < 0) {
err_sys("fork error");
} else if (pid == 0) { /* child */
if (execl("/home/donnie/bin/testinterp",
"testinterp", "myarg1", "MY ARG2", (char *)0) < 0)
err_sys("execl error");
}
if (waitpid(pid, NULL, 0) < 0) /* parent */
err_sys("waitpid error");
exit(0);
}
编译成功后。
运行结果为:
[donnie@localhost proc]$ cat /home/donnie/bin/testinterp
#! /home/donnie/bin/echoarg foo
[donnie@localhost proc]$ ./fig8.20
execl error: Permission denied
[donnie@localhost proc]$
书上说结果应该为:
$ cat /home/donnie/bin/testinterp
#!/home/sar/donnie/echoarg foo
$ ./fig8.20
argv[0]: /home/donnie/bin/echoarg
argv[1]: foo
argv[2]: /home/donnie/bin/testinterp
argv[3]: myarg1
argv[4]: MY ARG2
求解,谢谢了!
[ 本帖最后由 donnie0219 于 2008-4-1 22:17 编辑 ] |
|