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

我用管道作为一个程序的标准输入时,程序报错说不是一个终端不能做为标准输入,请问怎么样管道成为它的标准输入呢???具体错误信息见内

    来源: 互联网  发布时间:2015-06-16

    本文导语:  我是先关闭程序的标准输入,然后用dup函数将管道作为一个程序的标准输入的,程序报错,错误信息为: Pseudo-terminal will not be allocated because stdin is not a terminal. 请问怎么样才能让管道作为这个程序的标准输入...

我是先关闭程序的标准输入,然后用dup函数将管道作为一个程序的标准输入的,程序报错,错误信息为:
Pseudo-terminal will not be allocated because stdin is not a terminal.

请问怎么样才能让管道作为这个程序的标准输入呢??

|
The major use of duplicating a file descriptor is to implement redirection of input or output: that is, to change the file or pipe that a particular file descriptor corresponds to.

Here is an example showing how to use dup2 to do redirection. Typically, redirection of the standard streams (like stdin) is done by a shell or shell-like program before calling one of the exec functions to execute a new program in a child process. 

So, to redirect standard input to a file, the shell could do something like: 

pid = fork ();
if (pid == 0)
  {
    char *filename;
    char *program;
    int file;
    ...
    file = TEMP_FAILURE_RETRY (open (filename, O_RDONLY));
    dup2 (file, STDIN_FILENO);
    TEMP_FAILURE_RETRY (close (file));
    execv (program, NULL);
  }


|
程序贴出来看一下。

|
贴代码。

|
dup调用是复制一个描述符,你已经将stdin关闭了,还复制个屁?

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












  • 相关文章推荐
  • 客户端程序和服务器程序间能否通过管道来实现数据的双向传递啊?
  • 请问如何让自己编写的Shell程序支持管道?
  • gcc程序怎么不能将输出重定向到文件或管道呀,你们有这个问题吗?
  • 这是一个关于Linux的管道的程序,请问一下这个程序是什么意思,能不能解释一下
  • 管道程序中write(STDOUT_FILENO,line,n)是什么意思呢?
  • 一个写管道程序问题
  • linux进程管道通信C语言编程:程序有问题,请指点迷津
  • 请大家帮我看看这个管道的程序.为什么有错误呢.奇怪.
  • 大家帮忙分析一下程序在哪个地方出了错?管道应用实例.
  • linux下管道程序求解
  • linux c语言编程 ------管道问题-----程序无法通过---求帮助
  • UNIX下利用管道重定向实现对程序的输出进行操作
  • 一个管道加进程调度的程序
  • cceczjxy 大侠,看看我的有名管道程序,急啊
  • 大家帮我看看,为什么我用有名管道,两个程序互发,发的发的就不发了,好像堵塞似的
  • 求命名管道FIFO编写两个程序,实现通信,简单聊天功能。
  • linux管道问题,管道建立后如何同步?
  • 哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • 1哪位大侠知道Linux里的有名管道传送数据快不快?有名管道操作的过程是否有读写硬盘的操作?
  • 怎么样以非阻塞的方式从管道中读取数据?因为我用read函数时,如果管道没有数据就会阻塞住???
  • (100)"断开的管道" 在Socket编程当中,如果我连续发送包,例如1000次,总会出现"断开的管道"的错误提示,请问如何解决
  • 管道(|)是怎么实现的?
  • 多进程通讯的管道相关问题
  • 请问何时删除命名管道哪?
  • Linux下面的"匿名管道",是否对应着某种实体?
  • 串口和管道诡异的问题,在线急等解答
  • linux进程管道通信
  • 命名管道open时被阻塞了
  • 如何实现管道和后台进程
  • 关于有名管道的权限问题?
  • 命名管道问题


  • 站内导航:


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

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

    浙ICP备11055608号-3