Linux下基于管道的程序

Posted

技术标签:

【中文标题】Linux下基于管道的程序【英文标题】:Program based on pipe in Linux 【发布时间】:2013-08-06 16:40:35 【问题描述】:

为此编写一个程序------>>>>>>

一个程序将打开一个管道,将一个数字写入管道。 其他程序将打开相同的管道,读取数字并打印出来。 关闭两个管道。

我怎么能写一个基于这个的程序任何人都知道然后请帮助我......!!!!

【问题讨论】:

你能提供更多细节吗?有点不清楚你在问什么。 在 shell 中:echo 1 | cat ... 现在,这可能不是您想要的。您能否说明您遇到问题的部分以及您使用的语言? 我问的基本怎么写程序?? 【参考方案1】:

我认为您正在寻找的是:

echo <number you want to use> (or output from program) | <program you want to pipe into>

例如:

echo 5 | more

将简单地显示:

5

“|”是你的管道;它将输出从左侧重定向到右侧,连接它们的标准流,通常不包括标准错误。

希望对您有所帮助。

【讨论】:

另请注意,您可以使用 | 只要左边的输出作为右边的输入,否则右边的程序会报错。 在这种情况下如何编写我的问题的一整段代码?? @Tanmay Hans 的回答是完全正确的,它是一整段代码,可以按照您提出的方式回答您的问题。这可能不是您的家庭作业的意图,但这仅仅是因为您省略了部分作业(可能是您应该使用特定编程语言的部分)。更重要的是,你错过了家庭作业的全部意义,即让你学习一些东西,而不是盲目地复制粘贴。【参考方案2】:

管道可能是Linux下最简单的IPC解决方案;所以谈论管道我喜欢谈论特定的进程间通信解决方案。

IPC 位于内核空间,由内核自己管理,单向工作,仅在调用者和被调用者之间,它是单向的。

更多内容你应该阅读一篇关于 Linux 下管道和 IPC 的好文章,你会发现大量文章on the internet,一个简短的例子你可以去here。

【讨论】:

理论,我很了解,但是卡在如何在屏幕上打印数字??

以上是关于Linux下基于管道的程序的主要内容,如果未能解决你的问题,请参考以下文章

linux下,采用消息队列实现进程通信 (待续)

linux下xargs和管道的区别

Linux 下管道通信

Linux下shell编程

Linux系统 shell基础

Linux。 Python。从命名管道读取