首页 文章
  • 0 votes
     answers
     views

    使用dup2和pipe重定向stdin

    我有一个程序A,它从stdin获取两个参数,并根据参数使用唯一代码退出 . 我正在编写一个程序B,它使用fork和exec调用程序A,让程序B打印出代码程序A退出 . 出于某种原因,程序A似乎没有在fork的子进程中获取我传递给它的数据 . 我不确定我是否将正确的数据传递给子进程 . 有人可以帮帮我吗?谢谢! 这是我的代码: int program_B(void) { char var_a[256...
  • 18 votes
     answers
     views

    popen()可以像pipe()fork()一样制作双向管道吗?

    我正在C中的模拟文件系统上实现管道(主要是C) . 它需要在主机shell中运行命令,但在模拟文件系统上执行管道本身 . 我可以通过 pipe() , fork() 和 system() 系统调用来实现这一点,但我更喜欢使用 popen() (它处理创建管道,分支进程,并将命令传递给shell) . 这可能是不可能的,因为(我认为)我需要能够从管道的父进程写入,在子进程端读取,从子进程写回输出,最...
  • -1 votes
     answers
     views

    C - dup2()没有执行

    这是我的第一个问题,所以如果我忽略任何重要的事情我会道歉 . 所以我一直致力于通过分叉处理管道的任务 . 我的代码非常混乱,充斥着printf语句,所以我看到发生了什么 . 我在网上浏览了一下,我想我知道如何处理管道,但我遇到的问题是我的代码跳过除了inFD和outFD之外的任何文件描述符上的dup2() . 这是我的功能代码 . 另外,根据我的理解,我的老师制作了一个名为CHK的宏来检查错误 ....
  • 0 votes
     answers
     views

    dup2阻塞printf,但不是fprintf?

    所以,我有一个我的操作系统类的作业,其中我创建一个与管道连接的进程环,以便在它们之间传递消息 . 我找到了一些示例代码,我希望能够适应(或至少理解)我的需求 . 示例代码(稍加修改)是: /* Program 4.1 */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include &l...
  • 1 votes
     answers
     views

    管,叉,dup2和麻烦

    我想通过两个管道来执行metasploit与它进行通信,但我对这种通信有麻烦 . 当我运行我的程序时,我收到此错误:“stty:标准输入:不恰当的设备ioctl”,我没有收到metasploit promt . 只需选择一个漏洞 . 这是我的代码: #include <stdio.h> #include <stdlib.h> #include <string.h&gt...
  • 1 votes
     answers
     views

    dup2 - 创建管道程序

    我想写一个程序,最终将复制它的功能 program1 |程序| programX 所以我想将programX的输出重定向到programX 1的输入 . For the sake of simplicity, I would like to start off with only two programs and a single pipe. 在伪代码中,我的方法看起来像这样: 1. crea...
  • 0 votes
     answers
     views

    不能将dup2写入管道端到stdout

    我遇到了dup2()和pipe()的问题 . 当我尝试将管道的写入端复制到STDOUT_FILENO时,我正在接收EBADF . 我使用gdb打破 dup2(pout[1], STDOUT_FILENO) 并检查 /proc/$pid/fdinfo/$pout[1] 是否具有O_WRONLY标志 . 这个麻烦让我很生气 . 注意:在函数开始时,我将所有管道初始化为-1 . 这个问题只发生在x86...
  • 2 votes
     answers
     views

    数据在(TCP)套接字中消失

    我有这个大多数原型的TCP套接字服务器接受连接,然后运行用户指定的程序与另一方交谈 . 神秘的事情是调用write()并返回,但没有输出到客户端 . strace输出(作为执行程序运行“cat”)如下所示: [pid 8142] read(0, "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n12\n13\n14"..., 32768) = 292 [...

热门问题