POSIX:FreeBSD 与 Linux 中的管道系统调用

2024-05-03

在 Linux(2.6.35-22-generic)中,man pipe指出

pipeline() 创建一个管道,一个可用于进程间通信的单向数据通道。”

在 FreeBSD (6.3-RELEASE-p5) 中,man pipe指出

pipeline() 系统调用创建一个管道,它是一个允许双向数据流的对象,并分配一对文件描述符。”

一种是单向的,另一种是双向的。我希望这不是一个愚蠢的问题,但是哪种方法是执行此操作的标准方法?它们都符合 POSIX 标准吗?

为了明确我的意图,我在考试中失去了一些分数,因为我相信 pipeline() 是一种方法,并且正在寻找一些弹药来恢复任何分数;p


我一开始是作为对格雷格答案的评论开始的,但我发现它更接近地回答了你的具体问题:

pipe()s POSIX 标准中的文档 http://pubs.opengroup.org/onlinepubs/9699919799/functions/pipe.html明确指出所讨论的行为是“未指定的”——也就是说,pipe()不要求是双向的,但并不禁止。 Linux 是单向的,FreeBSD 是双向的。两者都是兼容的,其中一种只是实现了不需要的额外行为(但不会破坏为在兼容系统上运行而构建的应用程序)。

可以将数据写入文件 描述符 fildes[1] 并从 文件描述符fildes[0]。继续阅读 文件描述符 fildes[0] 应 访问写入文件的数据 描述符 fildes[1] 上 先进先出的基础上。这是 未指定 fildes[0] 是否也是 是否开放写入以及是否 fildes[1] 也开放供阅读。

我不会指望拿回积分(尽管你应该这样做)。教授们倾向于忽视现实世界,而倾向于他们认为正确的事物。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

POSIX:FreeBSD 与 Linux 中的管道系统调用 的相关文章

  • GCC 和 ld 找不到导出的符号...但它们在那里

    我有一个 C 库和一个 C 应用程序 尝试使用从该库导出的函数和类 该库构建良好 应用程序可以编译 但无法链接 我得到的错误遵循以下形式 app source file cpp text 0x2fdb 对 lib namespace Get
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • QFileDialog::getSaveFileName 和默认的 selectedFilter

    我有 getSaveFileName 和一些过滤器 我希望当用户打开 保存 对话框时选择其中之一 Qt 文档说明如下 可以通过将 selectedFilter 设置为所需的值来选择默认过滤器 我尝试以下变体 QString selFilte
  • Elasticsearch 无法写入日志文件

    我想激活 elasticsearch 的日志 当我运行 elasticsearch 二进制文件时 我意识到我在日志记录方面遇到问题 无法加载配置 这是输出 sudo usr share elasticsearch bin elasticse
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Android:ANT 构建失败,并显示 google-play-services-lib:“解析为没有项目的 project.properties 文件的路径”

    我正在尝试使用 ANT 构建我的应用程序 但在包含 google play services lib 库项目后 我惨遭失败 Step 1 我在 project properties 文件中设置了对库项目的引用 android library
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • 使用 sed 更新 xml 属性(Windows + cygwin 和 Linux)?

    我需要使用 sed 命令对 xml 文件进行更新 但我在这方面遇到了麻烦 它需要在 Windows 使用 cygwin 和 Linux 上运行 XML 具有以下元素
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl

随机推荐

  • “赠送”应用内购买 Android

    有没有办法将 Google Billing 中的应用内购买 赠送 给特定帐户 我把这个问题放在这里是因为如果有一种方法可以以编程方式完成它 那很好 但不是必须的 在官方文档中找不到任何相关内容 我想要这个的原因是因为我的一个应用程序目前处于
  • 在 Maven 中解决或编译循环依赖关系 [重复]

    这个问题在这里已经有答案了 我有一个有趣的问题 而不是寻找a解决方案 我正在寻找解决方案s Alice 项目有一个 pom xml 在其中 pom 说她被包装成一个罐子 虽然她是一个坚强的女人 但她依赖鲍勃 鲍勃项目是一个互补主义者 他说他
  • 如何根据另一个属性向 XML 节点添加一个属性?

    我有以下 XML
  • Excel 2007 Visual Basic 编辑器:占用空格,四处移动光标

    我无法解决这个问题 我发现了类似的问题here https stackoverflow com questions 1164138 vba editor auto deletes spaces at the ends of lines bu
  • 箱线图与箱线图有何不同?

    我想知道当我们在海生图书馆中有箱线图时为什么会有箱线图 我知道一件事是箱线图优化了表示数据的方式 特别是对于大型数据集 但我不知道为什么 除此之外 我没有任何充分的理由使用箱线图 箱线图将中位数显示为中心线 第 50 个百分位数 然后将第
  • 隐藏控制台并执行 python 脚本

    我正在尝试使用 pyinstaller 在 Windows 10 上使用 pyqt5 模块编译在 python 3 中构建的 python 脚本 该脚本在运行时隐藏窗口 为了编译我的脚本 我执行了以下命令 pyinstaller onefi
  • 防止左浮动 div 转到新行

    我有 4 个 div 设置为向左浮动 但最后的 div 不断在较小的屏幕上换行两个新行 这真的很烦我 我希望它们随屏幕尺寸缩放 以便它们始终保持在同一行上屏幕尺寸 并且我尝试不使用桌子 这非常诱人 因为他们对此非常可靠 我想知道如何解决这个
  • R 对等证书无法使用给定的 CA 证书进行身份验证,Windows

    当尝试使用导入谷歌工作表时gs read 函数 我收到以下错误消息 在curl curl fetch memory url handle handle 中出错 对等 无法使用给定的 CA 证书对证书进行身份验证 我正在关注这个vignett
  • Julia 1.6.2 未出现在 Jupyter 笔记本中

    我已经根据这个网站安装了 julia 1 6 2 jupyter notebook 和 anaconda 3 https datatofish com add julia to jupyter https datatofish com ad
  • 如何检测图像中对象的实例?

    我有一张包含几个特定对象的图像 我想检测这些物体在该图像中的位置 为此 我有一些模型图像 其中包含我想要检测的对象 这些图像在我想要检测的对象实例周围得到了很好的裁剪 这是一个例子 在这张大图里 我想检测此模型图像中表示的对象 自从你最初发
  • 使用 Swift 获取 UITableViewCell 中 UITextField 的 indexPath

    因此 我正在构建一个详细视图控制器应用程序 它显示一个包含两部分单元格的表格 标签和文本字段 我正在尝试检索文本字段值并将其添加到数组中 我尝试使用 textField superview superview 技术 但没有成功 func t
  • Android - GC 滞后于列表视图滚动“更大”的图像

    在列表视图中 我想在列表条目上绘制一个图像 这 20 张图像必须缩放以填充垂直模式的宽度 手机分辨率为 480 x 800 像素 SGS2 图像分辨率为 400x400 大小约为 100KB 我已将图像放在可绘制文件夹中 当我滚动列表时 它
  • 如何搜索 Google 电子表格?

    我正在进行一些详尽的搜索 需要确定电子表格中是否已存在新域 URL 然而 所有 Spreadsheet 对象都没有搜索功能 即大多数 Document 对象中的 findText 功能 我觉得我错过了一些重要的事情 我缺少什么 查找文本函数
  • 在开始 Web 开发项目之前,您如何估计要花费的时间? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 当你告诉你的客户或经理这可以在10天内完成 但你花了20天才得到一个点 甚至还没有部署到现场时 感觉真的很糟糕 任何经验都可以与我分享您是如何估
  • WPF 绑定默认模式

    在我的一个应用程序中 我有这样的代码
  • RestClient发送IFormFile

    我从我的控制器收到一个文件 public async Task
  • MySQL 的 read_sql() 非常慢

    我将 MySQL 与 pandas 和 sqlalchemy 一起使用 然而 它的速度非常慢 对于一个包含 1100 万行的表 一个简单的查询需要 11 分钟以上才能完成 哪些行动可以改善这种表现 提到的表没有主键 并且仅由一列索引 fro
  • 如何在 Xamarin.Forms.Maps 中使用深色模式 Google 地图?

    我正在尝试使用 Xamarin Forms Maps nuget 包在我的 Xamarin Forms 应用程序中使用深色模式 Google 地图 我已经成功地在 iOS 地图上使用了 OnElementChanged if e NewEl
  • 如何在 Dart 中向枚举添加方法或值?

    在Java中 当您定义枚举时 您可以执行类似于以下的操作 即向枚举添加成员enum 这在 Dart 中可能吗 enum Foo one 1 two 2 final num value Foo this value 从 Dart 2 6 开始
  • POSIX:FreeBSD 与 Linux 中的管道系统调用

    在 Linux 2 6 35 22 generic 中 man pipe指出 pipeline 创建一个管道 一个可用于进程间通信的单向数据通道 在 FreeBSD 6 3 RELEASE p5 中 man pipe指出 pipeline