Manpages

______________________________________________________________________________

NAME

close - 关 闭 一 个 打 开 了 的 通 道

总 览 SYNOPSIS

close channelId _________________________________________________________________

描 述 DESCRIPTION

关 闭 由 channelId 给 出 的 通 道 。 ChannelId 必 须 是 一 个 通 道 标 识 符 , 是 以 前 的 opensocket 命 令 的 返 回 值 。 向 通 道 的 输 出 设 备 刷 新 所 有 的 缓 冲 了 的 输 出 , 丢 弃 所 有 缓 冲 了 的 输 入 , 关 闭 底 层 的 文 件 或 设 备 , 并 且 使 用 channelId 变 成 无 效 。 如 果 通 道 正 在 阻 塞 (block), 在 刷 新 所 有 输 出 之 前 命 令 不 返 回 。 如 果 通 道 未 阻 塞 并 且 有 未 刷 新 的 (unflushed)输 出 , 通 道 保 持 打 开 而 命 令 立 即 返 回 ; 将 在 后 台 刷 新 输 出 并 且 在 刷 新 完 成 时 关 闭 通 道 。 如 果 channelId 是 用 于 一 个 命 令 管 道 的 一 个 阻 塞 通 道 , 则 close 等 待 子 进 程 完 成 。 如 果 通 道 在 解 释 器 间 共 享 , 则 close 使 channelId 在 调 用 它 的 解 释 器 中 无 效 而 在 所 有 的 共 享 解 释 器 关 闭 这 个 通 道 之 前 不 起 其 他 作 用 。 当 在 其 中 注 册 了 这 个 通 道 的 最 后 一 个 解 释 器 调 用 close 时 , 上 面 描 述 的 清 除 动 作 发 生 。 关 于 通 道 共 享 的 描 述 请 参 见 interp 命 令 。 在 解 释 器 被 销 毁 和 进 程 退 出 时 自 动 的 关 闭 通 道 。 通 道 被 切 换 到 阻 塞 模 式 , 用 以 确 保 (ensure)在 进 程 退 出 之 前 正 确 的 刷 新 所 有 的 输 出 。 命 令 返 回 一 个 空 串 , 如 果 在 刷 新 输 出 时 发 生 了 错 误 它 可 以 产 生 一 个 错 误 。

参 见 SEE ALSO

file(n), open(n), socket(n), eof(n)

关 键 字 KEYWORDS

blocking, channel, close, nonblocking

[中 文 版 维 护 人 ]

寒 蝉 退 士

[中 文 版 最 新 更 新 ]

2001/07/03

《 中 国 Linux 论 坛 man 手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh