读书人

APUE 有关exec() Functions的程序出错

发布时间: 2012-03-25 20:55:17 作者: rapoo

APUE 有关exec() Functions的程序出错,不知道为什么?!
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)
这样呢?

读书人网 >UNIXLINUX

热点推荐