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