mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк 

Златоуст.Ru

 

 

      SHL(1)                                                   SHL(1)

      НАЗВАНИЕ
              shl - менеджер семейства shell'ов

      СИНТАКСИС
              shl

      ОПИСАНИЕ
              Shl позволяет с одного  терминала  взаимодействовать  с
              семейством shell'ов. Пользователь управляет членами се-
              мейства, или экземплярами, с помощью команд,  описанных
              ниже.

              Текущим называется  экземпляр  shell'а,  который  может
              производить ввод с клавиатуры.  Другие  экземпляры  при
              попытке ввода с клавиатуры блокируются. Выводимая  раз-
              ными членами семейства информация может перемешиваться.
              Чтобы блокировать вывод экземпляра, который не является
              текущим, необходимо для этого члена  семейства  устано-
              вить опцию loblk в stty.

              Для передачи управления от члена семейства к  менеджеру
              используется символ-переключатель swtch в stty  (обычно
              CTRL+Z). Приглашением менеджера является >>>, что помо-
              гает отличить его от члена семейства.

              Экземпляр  shell'а  связан  с  виртуальным   терминалом
              (/dev/sxt/???). Виртуальным терминалом можно  управлять
              так же, как и обычным, с помощью  stty(1)  и  ioctl(2).
              Каждый экземпляр имеет собственный идентификатор группы
              процессов.

           Определение
              Имя -  это  последовательность  символов,  ограниченная
              пробелом, табуляцией или  переводом  строки.  Значащими
              являются только первые 8  символов.  Имена  (1)  -  (7)
              нельзя использовать при создании экземпляров: они заре-
              зервированы менеджером как имена по умолчанию. Эти име-
              на можно сокращать до одной цифры.

           Команды
              Менеджер выполняет  следующие  команды,  которые  можно
              сокращать до минимальной распознаваемости.

              create [имя]
                   Создать экземпляр с указанным именем и сделать его
                   текущим. Если аргумент не указан, экземпляр  будет
                   иметь имя (#), где # - последняя  цифра  подсоеди-
                   ненного к нему виртуального устройства. Переменная
                   PS1  (приглашение  экземпляра)  получает  значение
                   имени экземпляра, за которым следует пробел. Можно
                   создать не более 7 экземпляров.

              block имя [имя ...]
                   Заблокировать вывод  соответствующих  экземпляров,
                   когда они не являются текущими.  Это  эквивалентно
                   установке для экземпляра опции loblk в stty.

              delete имя [имя ...]
                   Удалить соответствующие экземпляры.  Всем  процес-
                   сам, имеющим соответствующие идентификаторы  груп-
                   пы, посылается сигнал  освобождения  линии  SIGHUP
                   [см. signal(2)].

              help (или ?)
                   Справка по синтаксису команд shl.

              layers [-l] [имя ...]
                   Для каждого имени вывести имя экземпляра и иденти-
                   фикатор группы процессов. Опция -l добавляет к вы-
                   воду информацию в стиле ps(1). Если  аргументы  не
                   указаны, выдается информация обо всех существующих
                   экземплярах.

              resume [имя]
                   Сделать экземпляр с указанным именем текущим. Если
                   имя не указано, активируется последний из  текущих
                   экземпляров.

              toggle
                   Активировать экземпляр, который был текущим  перед
                   последним из текущих.

              unblock имя [имя ...]
                   Не блокировать вывод соответствующих  экземпляров,
                   когда они не являются текущими.  Это  эквивалентно
                   сбросу для экземпляра опции loblk в stty.

              quit Закончить работу. Всем экземплярам посылается сиг-
                   нал освобождения линии.

              имя  Сделать экземпляр с указанным именем текущим.

      ФАЙЛЫ
              /dev/sxt/???      Виртуальные терминалы.
              $SHELL            Переменная, содержащая составное  имя
                                используемого shell'а  (по  умолчанию
                                /bin/sh).

      СМ. ТАКЖЕ
              sh(1), stty(1).
              ioctl(2), signal(2) в Справочнике программиста.
              sxt(7) в Справочнике администратора.

      СЮРПРИЗЫ
              При переключении между  экземплярами  опережающий  ввод
              обрабатывается не всегда так, как можно ожидать. До тех
              пор, пока не выполнится реальное переключение и пользо-
              ватель не увидит соответствующее приглашение, весь опе-
              режающий ввод направляется текущему экземпляру. Не видя
              приглашения, нельзя гарантировать, что ввод попадет  по
              назначению.

              Завершение работы менеджера  вызывает  посылку  сигнала
              освобождения линии всем процессам всех групп для каждо-
              го существующего экземпляра. Обычно это приводит к  за-
              вершению всех экземпляров и освобождению всех виртуаль-
              ных терминалов,  которые  могут  теперь  использоваться
              другими пользователями. Существует, однако, два случая,
              когда после завершения работы с менеджером  виртуальные
              терминалы не освобождаются:

              1.   Если команда запущена с помощью nohup(1)  и  стан-
                   дартный ввод, вывод или протокол назначен на  вир-
                   туальный терминал, например

                      nohup  who > /dev/sxt/010

              2.   Если  сигнал   освобождения   линии   игнорируется
                   shell'ом (например, после команды trap '' 1).

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

              Если менеджер терминируется сигналом SIGKILL (kill -9),
              пользователь может оказаться в ситуации, когда для нор-
              мального продолжения работы необходимо выйти из системы
              и снова войти в нее. Кроме того, экземпляры будут  про-
              должать выполняться до тех пор, пока они не будут  явно
              терминированы или не произойдет  перезагрузка  системы.
              Пользователи, которые хотят завершить работу с менедже-
              ром, не должны использовать SIGKILL.



 

 

Бернадинер Марк Абрамович

Мое резюме

Компьютерная страничка

Ресурсы сети

Фотоальбом

 

 

 

mark.zlatoust.ru Послать письмо Webmaster-у Web-Master © Бернадинер Марк