close(3tcl)

NAME
close - 關閉一個打開了的通道

總覽 SYNOPSIS
close channelId

描述 DESCRIPTION

關閉由 channelId 給出的通道。ChannelId 必須是一個通道標識符，是以前的 open 或 socket 命令的返回值。向通道的輸出設備刷新所有的緩沖了的輸出，丟棄所有緩沖了的輸入，關閉底層的檔案或設備，並且 使用 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