13.07.2015 Views

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

Perl 语言编程 - Linux教程

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

第 十 六 章 , 进 程 间 通 讯计 算 机 进 程 之 间 几 乎 有 和 人 与 人 之 间 一 样 多 的 交 流 。 我 们 不 应 低 估 进 程 间 通 讯 的 难 度 。如 果 你 的 朋 友 只 使 用 形 体 语 言 , 那 么 你 光 注 意 语 言 暗 示 对 你 是 一 点 用 都 没 有 。 同 样 , 两 个 进程 之 间 只 有 达 成 了 通 讯 的 方 法 以 及 建 筑 在 该 方 法 之 上 的 习 惯 的 共 识 以 后 才 能 通 讯 。 和 任 何 通讯 一 样 , 这 些 需 要 达 成 共 识 的 习 惯 的 范 围 从 词 法 到 实 际 用 法 : 几 乎 是 从 用 什 么 方 言 到 说 话 的顺 序 的 一 切 东 西 。 这 些 习 惯 是 非 常 重 要 的 , 因 为 我 们 都 知 道 如 果 光 有 语 义 而 没 有 环 境 ( 上 下文 ), 通 讯 起 来 是 非 常 困 难 的 。在 我 们 的 方 言 里 , 进 程 间 通 讯 通 常 念 做 IPC。<strong>Perl</strong> 的 IPC 设 施 的 范 围 从 极 为 简 单 到 极 为复 杂 。 你 需 要 用 哪 种 设 施 取 决 于 你 要 交 流 的 信 息 的 复 杂 度 。 最 简 单 的 信 息 几 乎 就 是 没 有 信 息 :只 是 对 某 个 时 间 点 发 生 了 某 个 事 件 的 知 晓 。 在 <strong>Perl</strong> 里 , 这 样 的 事 件 是 通 过 模 拟 Unix 信号 系 统 的 信 号 机 制 实 现 的 。在 另 外 一 个 极 端 ,<strong>Perl</strong> 的 套 接 字 设 施 允 许 你 与 在 互 联 网 上 的 另 外 一 个 进 程 以 任 何 你 们 同 时都 支 持 的 协 议 进 行 通 讯 。 自 然 , 自 由 是 有 代 价 的 : 你 必 须 通 过 许 多 步 骤 来 设 置 连 接 并 且 还 要确 保 你 和 那 头 的 进 程 用 的 是 同 样 的 语 言 。 这 样 做 的 结 果 就 是 要 求 你 需 要 坚 持 许 多 其 他 奇 怪 的习 惯 。 更 准 确 地 说 , 甚 至 还 要 求 你 用 象 XML,Java, 或 <strong>Perl</strong> 这 样 的 语 言 讲 话 。 很 恐 怖 。上 面 两 个 极 端 的 中 间 的 东 西 是 一 些 主 要 用 于 在 同 一 台 机 器 上 的 进 程 之 间 进 行 通 讯 的 设 施 。 包括 老 派 的 文 件 , 管 道 ,FIFO, 和 各 种 Sys V IPC 系 统 调 用 。 对 这 些 设 施 的 支 持 因 平 台 的不 同 而 有 所 差 异 ; 现 代 的 Unix 系 统 ( 包 括 苹 果 的 Mac OS X) 支 持 上 面 的 所 有 设 施 , 但是 , 除 信 号 和 Sys V IPC 以 外 ,Microsoft 操 作 系 统 支 持 剩 下 的 所 有 的 , 包 括 管 道 , 进 程分 裂 , 文 件 锁 和 套 接 字 。( 注 : 除 了 AF_UNIX 套 接 字 )。关 于 移 植 的 更 多 的 一 般 性 信 息 可 以 在 标 准 的 <strong>Perl</strong> 文 档 集 中 找 到 ( 不 管 你 的 系 统 里 是 什 么格 式 ), 他 们 在 perlport 里 。 与 Microsoft 相 关 的 信 息 可 以 在 perlwin32 和 perlfork里 找 到 , 即 使 在 非 Microsoft 的 系 统 里 都 安 装 了 它 们 。 相 关 的 书 籍 , 我 们 介 绍 下 面 的 :1. The <strong>Perl</strong> Cookbook, Tom Christiansen 和 Nathan Torkington (O'Reillyand Associates,1998), 第 十 六 到 十 八 章 。2. Advanced Programming in the UNIX Environment, W. Richard Stevens(Addison-Wesley,1992)3. TCP/IP Illustrated, W. Richard Stevens, 卷 I-III (Addison-Wesley,1992-1996)16.1 信 号409

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!