QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 720|回复: 3

为什么新的程序启动不起来

[复制链接]
发表于 2005-4-29 15:41:42 | 显示全部楼层 |阅读模式
我想在子进程中用exec函数族调用来启动一个新的程序,

代码如下

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>


int main(void)
{
        pid_t pid;

        if( (pid=fork())<0 )
        {
                printf("fork error.\n");
                exit(0);
        }

        else if( pid==0 )
        {
                //printf("child.\n");
                if( execle("/home/proc1/xy","xy",NULL)<0)
                {
                        printf("execle error\n");
                        exit(0);
                }
        }

       

        else
        {
                printf("parants.\n");
                //exit(0);
        }


        if( waitpid(pid,NULL,0)<0 )
        {
                printf("wait error\n");
                exit(0);
        }

        exit(0);
}

程序的运行结果是:parant.

请教列位大侠这是为什么?
 楼主| 发表于 2005-4-29 15:43:55 | 显示全部楼层
补充:xy是可执行文件,执行结果是hello
回复

使用道具 举报

发表于 2005-4-29 16:26:45 | 显示全部楼层
请先排一下版,好看点。用[code:1][/code:1]括起来。
回复

使用道具 举报

 楼主| 发表于 2005-4-29 20:21:44 | 显示全部楼层
不用了,问题解决了,我开始是在Cynwin环境中运行的,所以不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 03:31 , Processed in 0.049712 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表