Встроенные команды ТCL


close

        Команда закрывает открытый канал.

         Синтаксис
        close channelId

        Описание

        Команда close закрывает канал, идентификатор которого задан аргументом channelId. Идентификатор channelId возвращается командами open и socket при открытии канала.

        Команда отправляет все накопившиеся в выходном буфере данные на выходное устройство канала, удаляет все данные во входном буфере, закрывает назначенное каналу устройство или файл. Доступ к каналу прекращается.

        Для каналов в блокирующем и неблокирующем режимах действие команды несколько различно. Если канал находится в блокирующем режиме, команда завершается только после завершения вывода данных из буфера. В противном случае команда завершается немедленно, а вывод данных из буфера производится в фоновом режиме. Канал закрывается после завершения вывода.

        Если канал в блокирующем режиме открыт для конвейера, команда close завершается после завершения порожденного процесса.

        Если канал совместно используется несколькими интерпретаторами, то команда делает канал channelId недоступным в вызвавшем команду интерпретаторе, но не оказывает никакого другого действия на канал, пока все использующие канал интерпретаторы не закроют его. При выполнении команды в последнем из интерпретаторов, использовавших его, выполняются описанные выше действия.

        Команда close возвращает пустую строку. Она может порождать ошибку, если при выводе данных произошла ошибка.
Hosted by uCoz