Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

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.

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...