首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

APUE 有关exec() Functions的程序出错,不知道为什么?该怎么解决

2012-03-25 
APUE 有关exec() Functions的程序出错,不知道为什么?!Figure 8.16程序如下C/C++ code#include apue.h#in

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)
这样呢?

热点排行