首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用管道进行交互通信是行不通的。我也尝试过flush()。我做错了什么?

根据提供的问答内容,使用管道进行交互通信是行不通的,可能是因为在使用管道进行通信时出现了一些问题。尝试使用flush()函数也没有解决问题。以下是可能导致问题的原因和解决方法:

  1. 管道通信的原理:管道是一种进程间通信的方式,它可以在父子进程或者兄弟进程之间传递数据。在使用管道进行通信时,需要确保管道的读写端正确打开,并且在适当的时机进行读写操作。
  2. 管道的创建和打开:在使用管道进行通信之前,需要先创建管道并打开读写端。可以使用pipe()函数创建管道,并使用open()函数打开读写端。确保在打开读写端之前,先关闭不需要的文件描述符。
  3. 管道的读写操作:在进行管道通信时,需要确保读写操作的正确性。读操作使用read()函数,写操作使用write()函数。在进行读写操作之前,需要确保读写端已经正确打开,并且在适当的时机进行读写操作。
  4. 刷新缓冲区:在进行管道通信时,可能会出现缓冲区的问题。尝试使用flush()函数刷新缓冲区,但是并没有解决问题。这可能是因为flush()函数只适用于某些特定的流,而不适用于管道。在使用管道进行通信时,不需要手动刷新缓冲区,数据会自动传输。
  5. 错误排查:如果以上方法都没有解决问题,可以考虑进行错误排查。可以使用errno变量获取系统调用的错误代码,并使用perror()函数打印错误信息。根据错误信息进行排查,可能是由于权限问题、文件描述符错误、管道创建失败等原因导致通信失败。

总结:根据提供的信息,可能是在管道通信的过程中出现了一些问题。需要确保管道的读写端正确打开,并在适当的时机进行读写操作。不需要手动刷新缓冲区,数据会自动传输。如果问题仍然存在,可以进行错误排查,查看具体的错误信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python正向连接后门

举个例子,nc连接上后,执行cd xx目录进入某目录,再执行dir能够列出该目录下文件,而不是再开启一个cmd,又列出默认目录下文件。一定要是交互,不能交互式。    ...所以,解决思路有四: 1.如果能知道shell向管道里写入了多少字节数据,read(n)读取这个字节数据即可 2.如果有异步read函数,调用能解决问题 3.实在没办法,可以另开启一个线程...,专门读取管道数据 4.不使用管道,直接把shell输入输出定向到socket中。...不过在windows下使用总报错,后面再讲。     思路1、2,没想到好办法。没办法知道管道内数据大小,没找到异步read函数。     ...直接在popen时候,将新建进程stdin、stdout、stderr都重定向到socket中。这样就可以不使用管道通信了。这也是C语言下零管道后门原理。

1.4K31

卧槽,这也太上头了吧!

“老王,Java IO 太上头了吧?”新兵蛋子小二向头顶很凉快老王抱怨道,“你瞧,就按照传输方式对 IO 进行了一个简单分类,就能搞出来这么多玩意!”...2)数组 通常来说,针对文件读写操作,使用文件流配合缓冲流就够用了,但为了提升效率,频繁地读写文件并不是太好,那么就出现了数组流,有时候称为内存流。.../Linux 中管道不同,在 Unix/Linux 中,不同进程之间可以通过管道通信,但 Java 中,通信双方必须在同一个进程中,也就是在同一个 JVM 中,管道为线程之间通信提供了通信能力...缓冲流在内存中设置了一个缓冲区,只有缓冲区存储了足够多带操作数据后,才会和内存或者硬盘进行交互。简单来说,就是一次多读/写点,少读/写几次,这样程序性能就会提高。...; // 使用字符流输出 out.close() ; “小二啊,你看,经过梳理,是不是感觉 IO 没多少东西!

33310
  • 多线程和多进程之间区别(总结)

    仅仅要你不是整天都写那种int main()究竟代码的人,那么或多或少你会遇到代码响应不够用情况,应该有过并发编程甜头。 就像一个快餐点服务员,既要在前台接待客户点餐,又要接电话送外卖。...略微列举一下linux常见IPC. linux下进程间通信几种主要手段简单介绍: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间通信,有名管道克服了管道没有名字限制...共享内存:使得多个进程能够訪问同一块内存空间,最快可用IPC形式。针对其他通信机制执行效率较低而设计。往往与其他通信机制,如信号量结合使用。来达到进程间同步及相互排斥。...试过,仅仅要你线程函数满足前面的要求。都是正常。...总结东西,它似乎真的不适合写。免费,想到什么,它修改一下再回来。

    57710

    前端根本不需要构建!“技术邪教” Ruby on Rails 之父再出激进言论引争议

    DHH 透露,现在 37 Signals 新应用开发中在运用这两大功能:无需构建 JS 代码和无需构建 CSS。“之前我们就考虑过使用嵌套和变量来回避构建。...对于 DHH 提出“No Build”理念,Vercel CTO Malte Ubl 在推特上表示,他们已尝试过,但结果行不通。...DHH 不认可 Malte Ubl 所说行不通”。他表示,这就是技术讨论奇怪之处。即便已经有案例证明项目能完成大规模任务(如 Rails 之于 Shopify),但人们会声称它不能进行扩展。...或者已顺利使用某种方法多年(如 no build JS 之于 HEY 网站),会有人说这套 “行不通”。 还有人觉得这个只是噱头。...Rails 开发者 Niklas Häusele 表示,“喜欢用‘No Build’方式进行本地开发。无需等待即可刷新,这就是最高生产力。

    28710

    多线程和多进程差别(小结)

    想,仅仅要你不是整天都写那种int main()究竟代码的人,那么或多或少你会遇到代码响应不够用情况,应该有过并发编程甜头。...略微列举一下linux常见IPC. linux下进程间通信几种主要手段简单介绍: 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间通信,有名管道克服了管道没有名字限制...,因此,除具有管道所具有的功能外,它还同意无亲缘关系进程间通信; 信号(Signal):信号比較复杂通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身;...共享内存:使得多个进程能够訪问同一块内存空间,最快可用IPC形式。针对其他通信机制执行效率较低而设计。往往与其他通信机制,如信号量结合使用,来达到进程间同步及相互排斥。...试过,仅仅要你线程函数满足前面的要求,都是正常

    44130

    云原生关乎文化,而不是容器

    开始思考文化在云原生中作用 Bilgin Ibryam[2] 一篇很棒 InfoQ 文章 [3]。Bilgin 其中一件事将云原生架构定义为很多微服务,通过智能管道连接。...说云原生并不总是涉及微服务,这让陷入了这个特殊境地,因为不仅说 Bilgin 错了还说云原生计算基金会错了 —— 他们对云原生了解过什么相信我知道比他们多得多吧? ?...当我可以使用别人数据中心时,什么要这么呢?” 在自己数据中心和别人数据中心之间形成成本节约原因,自己数据中心必须为最大需求储备足够硬件。...关于测试跨团队谈判会很复杂 —— 尽管如果关于测试谈判太难,关于实际交互参数谈判会更难。如果你正在考虑探索接触测试,Spring Contract 或 Pact 不错起点。...硬件很容易配置,不能保证硬件有用。 当我刚开始学习 Kubernetes 时候,当然试过创建了一个集群,但后来就偏离了轨道,因为有太多工作在进行

    49640

    看我如何利用开发人员所犯小错误来盗取各种tokens

    不出所料,这果然行不通,因为网站只允许使用以下标签: 如果网站允许加载外部图片的话,就可以通过下面这种方法来添加一张外部图片然后记录...除此之外,这里不允许使用标签,可能服务器出错了吧。不过也无所谓,反正不打算通过这个标签来窃取token,因为这种方法所需要用户交互太多了。...d.不会对认证令牌有效性进行验证,所以网站登录节点则存在一个CSRF漏洞(其实没多大影响)。...好吧…在我看来,SillyXSS指仍然一个XSS漏洞,但这个漏洞只能作用于过时浏览器中;不过还有一种定义,即指的是那种需要大量用户交互才可以利用XSS漏洞。...总结之后发现,我们可以使用,当用户按下ALT+SHIFT+X之后便会触发onclick事件,但这样不仅需要大量用户交互(Silly XSS),而且很可能拿不到高额漏洞奖励。

    1.2K50

    不一样 反弹Shell 系统剖析

    按照通信协议可以分为 5大类,基本上涵盖了常见协议,这也是反弹shell走向成熟一个标志。...思维导图 最近分享,越来越喜欢使用思维导图,整理思路确实是一把好手,不过下面的思维导图,反反复复修改了很多次。...接着运行history 命令,为了方便截图,使用grep进行了过滤: ? 最后运行一下 top,报了 top:failed ttyget这个错误,无法获取一个终端,这也是将它定义为半交互原因。...无论交互还是非交互反弹shell,有一个明显特征,bash输入输出要么连接着管道,要么连接着socket,但是伪终端生成反弹shell,输入输出和正常情况一样。...在受控端,只需要使用一个普通反弹shell连接到控制端即可,剩下工作在控制端就可以了: 3.启用python交互式 $ python -c 'import pty; pty.spawn("/bin

    2.9K40

    除了增删改查你对MySQL还了解多少?

    那么MySQL通信方式??是什么???...如果Windows用户,客户端和服务端连接可以使用: 命名管道 共享内存 使用这两种方式连接需要添加参数: 使用命名管道进行进程间通信: 需要在启动服务器程序命令中加上--enable-named-pipe...,共享内存便成为本地客户端程序默认连接方式,不过我们可以在启动客户端程序命令中加入--protocol=memory参数来显式指定使用共享内存进行通信; 注意 不过需要注意使用共享内存方式进行通信服务器进程和客户端进程必须在同一台...Windows主机中 命名管道和共享内存Windows操作系统中两种进程间通信方式 Unix域套接字文件 使用此连接方式前提服务器和客户端进程都在同一类Unix机器上,我们才可以使用Unix域套接字文件来进行通信...你可能已经注意到了,这个查询太简单了,没有任何附加查询条件,如果需要一些额外查询条件,比如我只要某个用户数据 ,这种方法就行不通了。

    73930

    go 搭建并行处理管道

    1.3 不需要锁, 不需要callback go使用CSP模型进行通信, 不需要使用锁, 其实, 这里不需要锁指的是用户在使用go语言进行并发通信时候不需要使用锁...2.2 主方法main和Hello world方法进行通信, 通信使用channel package main import ( "fmt" "time" ) func main...代码实现 我们使用案例来说明管道使用 3.1 channelgoroutine和goroutine之间通信 首先, 将数据放入管道中.....这里有个疑问, 为什么要将数据放入管道中呢?...如上图分析: 可以看到, 基本都是使用管道进行通信, 读取数据时候, 并不是说, 最开始放入一个数据, 到最后, 输出一个数据, 中间有等待过程....总结: 网络版这一块事情, 在讲什么? 在模拟真实使用场景. ? 总结: 再次体验了整个go如何使用chan进行通信. 几乎每一部都是在使用chan进行通信.

    1.3K20

    JavaIO之 PipedInputStream 和 PipedInputStream

    管道简介 管道含义,很久之前就已经出现 用于表示数据直接交互含义与平时说管道含义类似的,就是直连 JavaIO中 PipedInputStream 和 PipedOutputStream...就是IO体系中字节流管道 java中,PipedOutputStream和PipedInputStream分别是管道输出流和管道输入流 使用管道通信时,必须将PipedOutputStream和PipedInputStream...缓冲中; 线程B通过读取PipedInputStream中数据 对照到我上面画图就是这样: 虽然说是管道,跟现实中含义有些类似,但是绝对不能认为他们数据流方向可以任意 在JavaIO中必须一个线程通过...(byte b[], int off, int len) 从指定字节数组指定位置,读取指定个数字节, 写入到流 根本还是调用receive flush flush 将数据输出,此处不同于文件需要调用操作系统进行写入磁盘...内部循环数组进行数据缓存,进而达到多线程通信目的 read 和 write方法含义用法跟InputStream要求一样,没什么特别的 实现细节有兴趣可以深入研究

    61040

    前端升职加薪套路第1步

    原因呢,在于算法这个东西,很多人认为前端用不着算法,算法都在后端,大厂只是为了筛人才考算法,实际工作中用不着。这样回答听过了很多很多,一般不会直接反驳,随便问几个问题就行了。...为什么把Vue中最长递增子序列算法拷贝到LeetCode300题,却过不去呢?尤雨溪写错了吗?为什么不用最长公共子序列呢? 擅长React?React当中fiber是什么数据结构?...当然书难度并不低,所以一开始不用强求自己全部掌握,可以当做一本工具书,时翻阅。红色《算法》书里有很多JAVA版算法代码实现,当然算法不分语言,前端小伙伴学习时候拆到JS就可以了。...除了这两本,还有一本《数据结构与算法分析》,这本书里讲到数学知识会多一点: 平常是红色《算法》放在公司,《算法导论》和《数据结构与算法分析》放在家里,经常翻翻,尤其失眠时候,当然治疗失眠效果与你算法实力成反比...大家有什么疑问,可以留言告诉

    47310

    【Linux】vscode使用 | 进程间通信(简单概括)

    进程间通信 管道进程具有独立性 一个进程挂掉,不影响另一个进程, 可会增加通信成本 要让两个不同进程进行通信,前提条件:先让两个进程看到同一份 资源 在操作系统内创建一份公共资源,...若只打开读方式打开,则被子进程继承下去后依旧只能以读方式打开,无法进行数据交互 3....为 3 与 4 ,正好对应 数组中下标 3与4位置 系统调用为什么可以使用c语言errno 正常来说,调用c语言接口出错了,才调用errno 或者 strerror什么调用系统调用接口时...,使用 errno来说明错误原因 系统调用接口由系统使用c语言一套软件 2.创建子进程以及通信 关闭不需要fd,让父进程进行读取,让子进程进行写入 一般认为pipefd[0] 为读端 ,...管道特点 1.单向通信 2.管道本质文件,因为fd声明周期随进程,管道生命周期随进程 3.管道通信 ,通常用来进行具有血缘关系进程,来进行进程通信,常用于父子通信 pipe打开管道,并不清楚管道名字

    83340

    VC开发Windows客户端软件之旅——前言

    出于介绍Windows客户端相关技术目的,开发之前所有步骤将一笔带过。各个模块使用技术细节不会进行详细介绍,因为该系列博文侧重于介绍实现模块所有“用”到技术。...数据形式非常多。如果我们一旦涉及通信,便会有数据参与。比如和服务器通信,我们可能需要对数据进行加密或者hash。我们会在之后介绍如下算法使用: MD5。...它是一种加密算法,它是用于取代DES算法。 DES。它也是一种加密算法,但是已经out了,尽量使用AES吧。 数据是什么格式,CS端相互约定将介绍如下两种格式使用: XML。...对于产品交互设计同学,打点可以帮助统计一个按钮被按下多少次,经过什么顺序被按下,从而我们可以依据这些数据设计出更合理交互。有时候,我们安装一款软件后,往往会有个勾选——帮助我们改进。...一种可能这款软件我们自己写,我们可以在软件代码内部编写进程间通信代码。另一种这款软件只有固定输出,我们需要接管其输出,完成单向通信。相关技术参阅: 《进程间通信:同步双工管道》 云指令。

    2K30

    linux内核中听过就能记住概念

    shell一个特殊应用程序,为运行其他应用程序提供一个接口。   一些操作系统允许所有的用户程序直接与硬件部分进行交互,如MS-DOS。...当程序想使用硬件资源时,必须向操作系统发出一个请求,内核对这个请求进行评估,如果允许使用这个资源,内核代表应用程序与相关硬件部分进行交互。...说到这里大家都应该多少有些概念了:为什么进程开销大,线程涉及锁。   匿名管道一个未命名,单向管道,通过父进程和一个子进程之间传输数据。...套接字:这种通信机制使得客户端/服务器开发工作既可以在本地单机上进行可以跨网络进行。它特性有三个属性确定:域(domain),类型(type)和协议(protocol)。...所以搜索引擎走索引文件,有很多IO操作,共享内存和内存映射这块文件肯定是供不上,报错了。萦绕在心头两年问题稍微有点认知了。 跑题时间:   每当我打喷嚏时候,就在想到底谁在想我了。

    73720

    什么校招面试中“线程与进程区别”老是被问到?该如何回答?

    (总是不太聪明样子):“限乘?”、“进什么城(程)?” 面试官:“操作系统中进程与线程,你回去了解一下。门在左边,记得关门。” ?...根据这一问题就可以展开内容提问: 进程/线程如何通信 答:进程可以通过管道、套接字、信号交互、共享内存、消息队列等等进行通信;而线程本身就会共享内存,指针指向同一个内容,交互很容易。...我们如何确定在任意时刻到底由哪个进程执行,哪些不执行呢?(如何进行进程调度?) 线程之间关系合作关系。既然合作,那就得有某种约定规则,否则合作就会出问题。(如何进行线程同步?) 3....总结 总之,如果上述内容你都了解,那肯定是不怕被问到(大佬,请收下膝盖);如果看了此篇文章之后,你能答出个大概,相信面试官会放过你,毕竟,我们真的不是背书机器。...如果你能看到这,能否给我点个关注,点个赞让收到鼓励。如果觉得内容有误,欢迎评论指出。 注意,要敲黑板啦。 ? th (2).jpeg 进程是什么?它指的是一个运动中程序。

    1.1K30

    Android 面经分享:面试了9家公司,总结了这些需要注意技术点

    另外就是平常用到安卓原生代码一起要去熟悉下,比如:消息机制、View绘制流程、Binder通信、java集合、并发等。觉得这些更像是基础吧,没什么好说。理解越深对自己平常运用越有帮助。...不是在onResume()中处理 push进程挂掉之后,再次拉起时如何恢复push进程中service状态 两个进程如何使用binder进行双向通信 如何监测普通对象是否泄漏,leakcanary在...恒信永利 公司没什么名气,互联网金融。但从面试过程来看技术实力还是相当不错,当时面的架构师岗。准备不是太充分很多问题回答的确实不好(应该只复习到中期阶段),整体来讲还可以。...记忆比较深刻问题有: 架构核心要解决什么问题,怎样才称为好架构 桥接模式属于什么类型设计模式(结构型模式),它是用来解决什么场景问题 画一下IM系统中用户A给用户B发送消息时数据包和信令包交互图...如何实现热更新不需要重启进程就生效 activity启动流程 说一下乐观锁和悲观锁 单例模式在实际使用中有什么缺点 8.

    1.5K20
    领券