APUE 有关exec() Functions的程序出错,不知道为什么?!
Figure 8.16程序如下
#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 errorn");
}
else if(pid == 0)
{
if(execle("/home/zhuhaichao/apue练习/8.17“,”8.17“,”mysql","MY ARG2",(char *) 0,env_init)<0)
printf("execute errorn"); //我就把pathname改了,要执行的可执行文件8.17在这个目录下
}
if(waitpid(pid,NULL,0)<0)
{
printf("wait errorn");
}
if((pid=fork())<0)
{
printf("fork errorn");
}
else if(pid == 0)
{
if(execlp("8.17","8.17","only 1 arg",(char *) 0)<0)
{
printf("exec errorn");
}
}
exit(0);
但是执行的结果是:execute error
wait error
$
exec error
exec