1. 首页
  2. 考试认证
  3. 其它
  4. 协同进程-hds ams 2500用户手册

协同进程-hds ams 2500用户手册

上传者: 2024-07-22 15:50:44上传 PDF文件 17.98MB 热度 8次

14.4 协同进程 UNIX 过滤程序从标准输入读取数据,对其进行适当处理后写到标准输出。几个过滤进程通常在 shell 管道命令中线性地连接。当同一个程序产生某个过滤程序的输入,同时又读取该过滤程序的输出时,则该过滤程序就成为协同进程(coprocess)。Korn Shell 提供了协同进程。Bourne shell 和 C shell 并没有提供将进程连接起来按协同进程方式工作的方法。协同进程通常在 shell 的后台运行,其标准输入和标准输出通过管道连接到另一个程序。

尽管初始化一个协同进程,并将其输入和输出连接到另一个进程的 shell 语法显得十分奇特(详细情况见 Bolsky 和 Korn〔1989〕中的 pp. 66~66),但这在 C 程序中也是非常有用的。popen 提供连接到另一个进程的标准输入或标准输出的一个单行管道,而对于协同进程,它则有连接到另一个进程的两个单行管道—一个接到其标准输入,另一个则来自标准输出。我们先要将数据写到其标准输入,经其处理后,再从其标准输出读取数据。

想了解更多关于 UNIX shell 进程间通讯的内容?可以参考 unix_shell进程间通讯 这篇文章。unix shell程序集锦 也提供了详细的示例。

程序 14-8 是一个简单的协同进程实例,它从其标准输入读两个数,计算它们的和,然后将结果写至标准输出。这一方法不仅展示了协同进程的强大功能,也让我们感受到 UNIX 世界的无穷魅力!你是不是也迫不及待想要尝试一下呢?

想进一步了解协同进程的实际应用和编程技巧?可以查阅更多资源,例如:Unix进程_Unix进程基于unix进程通信程序。这些资源将帮助你更好地掌握协同进程的概念和应用技巧。

下载地址
用户评论