APUE 有关exec() Functions的程序出错,不知道为什么?该怎么解决
APUE 有关exec() Functions的程序出错,不知道为什么?!
Figure 8.16程序如下
但是执行的结果是:execute error
wait error
$
exec error
exec error
怎么结果是这样的?为什么执行错误,我哪里弄错了??谁知道,感激不尽!!!
------解决方案--------------------
8.17 本身是否可以执行?
execlp("./8.17","8.17","only 1 arg",(char *) 0)
这样呢?
Figure 8.16程序如下
- C/C++ code
#include <apue.h> #include <sys/wait.h> char * env_init[] = {"USER=unknow","PATH=/tmp",NULL}; int main(void) { pid_t pid; if((pid=fork())<0) { printf("fork error\n"); } else if(pid == 0) { if(execle("/home/zhuhaichao/apue练习/8.17“,”8.17“,”mysql","MY ARG2",(char *) 0,env_init)<0) printf("execute error\n"); //我就把pathname改了,要执行的可执行文件8.17在这个目录下 } if(waitpid(pid,NULL,0)<0) { printf("wait error\n"); } if((pid=fork())<0) { printf("fork error\n"); } else if(pid == 0) { if(execlp("8.17","8.17","only 1 arg",(char *) 0)<0) { printf("exec error\n"); } } exit(0);
但是执行的结果是:execute error
wait error
$
exec error
exec error
怎么结果是这样的?为什么执行错误,我哪里弄错了??谁知道,感激不尽!!!
------解决方案--------------------
8.17 本身是否可以执行?
execlp("./8.17","8.17","only 1 arg",(char *) 0)
这样呢?