<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN> <html> <head> <title>close</title> </head> <body> <h1>close</h1> <p>Команда закрывает открытый канал. </p> <pre> <strong>close</strong> <em>channelId</em> </pre> <h2>ОПИСАНИЕ</h2> <p> Команда <strong>close</strong> закрывает канал, идентификатор которого задан аргументом <em>channelId</em>. Идентификатор <em>channelId</em> возвращается командами <a href= open.html><strong>open</strong></a> и <a href=socket.html><strong>socket</strong></a> при открытии канала.</p> <p>Команда отправляет все накопившиеся в выходном буфере данные на выходное устройство канала, удаляет все данные во входном буфере, закрывает назначенное каналу устройство или файл. Доступ к каналу прекращается.</p> <p>Для каналов в блокирующем и неблокирующем режимах действие команды несколько различно. Если канал находится в блокирующем режиме, команда завершается только после завершения вывода данных из буфера. В противном случае команда завершается немедленно, а вывод данных из буфера производится в фоновом режиме. Канал закрывается после завершения вывода.</p> <p>Если канал в блокирующем режиме открыт для конвейера, команда <strong>close</strong> завершается после завершения порожденного процесса.</p> <p> Если канал совместно используется несколькими интерпретаторами, то команда делает канал <em>channelId</em> недоступным в вызвавшем команду интерпретаторе, но не оказывает никакого другого действия на канал, пока все использующие канал интерпретаторы не закроют его. При выполнении команды в последнем из интерпретаторов, использовавших его, выполняются описанные выше действия. Подробности совместного использования канала несколькими интерпретаторами приведены в описании команды <a href=interp.html><strong>interp</strong></a>. </p> <p> Команда <strong>close</strong> возвращает пустую строку. Она может порождать ошибку, если при выводе данных произошла ошибка. </p> </body> </html>