当前位置:  技术问答>linux和unix

请教,execlp中的“重定向”

    来源: 互联网  发布时间:2016-07-21

    本文导语:  直接贴代码, 很简单: int main() {         pid_t pid, pr;          pid = fork();         if(pid > 0)         {                 printf("child id:%dn", pid);                 do             ...

直接贴代码,
很简单:

int main()
{
        pid_t pid, pr;
         pid = fork();
        if(pid > 0)
        {
                printf("child id:%dn", pid);
                do
                {
                        pr = waitpid(pid, NULL, WNOHANG);
                } while(pr == 0);
        }
        else if(pid == 0)
        {
                execlp("./Child", "./Child", " > out", (char*)0); //execlp启动已成程序(./Child)
        }

        return 0;
}


如上述代码中,
通过execlp启动Child程序,
同时希望将Child运行的输出,重定向到out中。

但实际运行还是显示到屏幕了,没有重定向到out中。

请问,如何将启动起来的Child的输出重定向到文件中?
最好不要将主程序的输出重定向。。。

|
试试:
execlp("/bin/sh", "/bin/sh", "-c", "./Child > out", (char*)0); 

|
1L的虽然可行,但是似乎违背了程序的本身意思,否则完全可以用system()来做。

在程序里实现重定向的话,你需要在子进程用open打开out文件,并用dup2()把STDOUT_FILENO作为out文件描述符的拷贝。

    
 
 

您可能感兴趣的文章:

  • 请教大家一个关于execlp()的问题!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • ■请教■请教redhat最基本的问题!
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)
  • 请教这种循环的执行过程
  • 请教两个redhat9问题
  • 请教如何在指定目录下查找包含指定文字的文件
  • 请教局域网中如何通过ip地址得到主机名
  • 请教kdevelop的问题
  • 请教linux 下的adsl拨号问题.
  • 请教,如何用虚拟订机安装liux
  • 【请教】LINUX 下SNMP的MIB开发
  • 请教一个opengl的问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3