close






________________________________________________________________________________

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

close channelId
________________________________________________________________________________




     关闭由 channelId 给出的通道。ChannelId   必须是一个通道标识符,是以前的 open socket
命令的返回值。向通道的输出设备刷新所有的缓冲了的输出,丢弃所有缓冲了的输入,关闭底层的文件或设备,并且  使用 channelId  变成无效。

     如果通道正在阻塞(block),在刷新所有输出之前命令不返回。如果通道未阻塞并且有未刷新的(unflushed)输出,通道保持打开而命令立即返回;将在后台刷新输出并且在刷新完成时关闭通道。│

     如果 channelId   是用于一个命令管道的一个阻塞通道,则 close   等待子进程完成。

     如果通道在解释器间共享,则 close   使 channelId                                           │
在调用它的解释器中无效而在所有的共享解释器关闭这个通道之前不起其他作用。当在其中注册了这个通道的最后一个解释器调用  close                 │
时,上面描述的清除动作发生。关于通道共享的描述请参见  interp  命令。                                          │

     在解释器被销毁和进程退出时自动的关闭通道。通道被切换到阻塞模式,用以确保(ensure)在进程退出之前正确的刷新所有的输出。

     命令返回一个空串,如果在刷新输出时发生了错误它可以产生一个错误。


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


blocking, channel, close, nonblocking

寒蝉退士

2001/07/03

http://cmpp.linuxforum.net


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