D3 Reference Manual

Index | Help

Поиск по страницам

Разделы / Unix / d3

d3

Запускает виртуальную машину D3 или пользовательский процесс

d3 {{[-0|-a bootarg|-port.number|-f|-q|-k] }{-n configfile} 
 {-t tty} {-y sttyarg} {-d dataarg} {-b} {-l} {-i nice}
  {[-printer|-pprinter]}} {-D} {-s} {-W} {-u /ttelnet.port,server.hostname}

Запускает виртуальную машину D3 или пользовательский процесс D3.

-0

Запускает виртуальную машину. Этот процесс отвечает за инициализацию виртуальной машины. Все остальные процессы ожидают окончания "холодного пуска", во время которого осуществляется эта инициализация, прежде, чем начать работу. Как только виртуальная машина запущена, линию 0 можно отключить путем ввода команды "disc" или "exit" на любой другой линии. Повторная подача команды "d3 -0" просто вновь подключает к виртуальной машине, если она загружена.

-a bootarg 

Автоматически запускает виртуальную машину. Этот процесс отвечает за инициализацию виртуальной машины. Все остальные процессы будут ждать окончания инициализации "холодного запуска" прежде, чем начать работу. Эта опция аналогична опции "0" с той разницей, что система не запрашивает опцию загрузки. Вместо этого выбирается однолитерная команда загрузки из аргумента "bootarg" из возможных опций загрузки "x", "f" или "a". Если выбирается команда "x", система опрашивает клавиатуру на предмет вмешательства пользователя в течение "bootsleep" секунд (по умолчанию - 3 секунды). Если в течение этого короткого времени нажата любая клавиша, система переходит к загрузке "вручную" по умолчанию. Аргумент "bootsleep" может быть изменен в файле конфигурации D3 путем добавления оператора 'bootsleep n' или с помощью команды "config options" TCL. Аргумент "bootarg" представляет собой строку команд, аналогичных командам, вводимым оператором при загрузке вручную. Если команда требует использования магнитной ленты, предполагается что устройство находится в состоянии готовности и поэтому не нужно включать в строку "bootarg" литеру "c" для продолжения.

-port.number

Запускает процесс пользователя. Указывается в десятичном виде в диапазоне от 1 до максимального количества разрешенных пользователей. Запускает процесс D3 для заданного порта, если необходимо управлять тем, для какого порта будет запущен процесс. Если порт не задан, система выделяет первый свободный порт.

-q 

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

-k

Эта команда прекращает все процессы, связанные с определенной виртуальной машиной. Сначала производится попытка выполнить процесс отключания от системы D3 (logoff) с последующим сигналом завершения, что посылает процесс назад в Unix. Если сигнал завершения не оказывает никакого действия, производится попытка удаления процесса с помощью данной команды - команды "kill". Эта команда должна использоваться только в экстремальных ситуациях. Это не является нормальным способом прекращения работы виртуальной машины.

-n configfile 

Определяет имя файла конфигурации. Если имя не задано, по умолчанию используется имя "pick0" в текущем каталоге или в каталоге /usr/lib/pick.

-t tty

Эта опция определяет, какой порт должен использоваться в качестве терминала для процесса. Предполагается, что устройство находится в каталоге "/dev" для специальных файлов. Если терминал не задан, то предполагается "stdin"/"stdout", если только не было переназначения, что часто делается в AIX. Обычно предполагается, что эта опция должна использоваться только в файле "/etc/inittab". Если это поле присутствует, система предполагает, что процесс пользователя запускается автоматически, и ведет себя при запуске немного по-другому: она ждет, когда будет запущен процесс на линии 0, если он еще не запущен.

-y sttyarg 

Эта опция позволяет изменять порт процесса, используемый по умолчанию. Значение "sttyarg" - это любое значение аргумента "stty" опции "t". Если изменяется более чем один элемент, значения должны быть разделены пробелами, а весь аргумент должен быть заключен в двойные кавычки (см. примеры ниже). Когда процесс завершается, исходные значения характеристик порта не восстанавливаются.

-d dataarg 

Эта опция позволяет занести в стек данные для запускаемого процесса. Значение "dataarg" - это любая строка, содержащая отображаемые литеры и команды c префиксом "\" (обратная косая черта). Следует отметить, что такая строка подвергается обычному синтаксическому разбору командным интерпретатором Unix. Следовательно, если обратная косая черта необходима внутри строки, либо она должна указываться со второй косой чертой, отменяющей ее служебное значение, либо вся строка должна быть заключена в одинарные кавычки. Значение "dataarg" может храниться в файле Unix с помощью механизма подстановки команд оболочки Unix (например, -d ~` cat /usr/lib/pick/logon~`). Все символы перевода строки во входной строке преобразуются в символы возврата каретки.

Команды 'dataarg':

  • \r - вставка символа возврата каретки.
  • \f - выключение режима эхо. Помещенные в стек данные не будут отображаться на дисплее.
  • \n - включение режима эхо. Помещенные в стек данные будут отображаться на дисплее.
  • \m - ждать, пока виртуальная машина D3 войдет в многопользовательский режим. Команда TCL "maxusers" должна быть включена в макрос "user-coldstart" после всех команд инициализации системы и приложений.
  • \\ - вставка символа обратной косой черты.

Когда процесс активизируется в первый раз, система считывает один знак, а затем очищает "буфер опережающего ввода" ("type-ahead buffer"). Поэтому данные, помещаемые в стек, должны всегда начинаться последовательностью "\r", за которой следует последовательность подключения к системе ("logon").

-dcdon

Включает протокол контроля несущей (DCD). Действие подобно команде TCL "dcd on", с той разницей, что опция не изменяет характеристик терминала. Это опция совместно с опцией "y" позволяет линиям, находящимся в приглашении на регистрацию, отключаться/перезапускаться после прерывания, например, сбоя электропитания.

-b

Отключает механизм защиты ABS-области для отдельных процессов. Данная опция необходима при загрузке приложений третьих фирм в загрузочную область ABS и при загрузке патчей.

-f

Перезапускает процесс флашера. Если процесс флашера некорректно завершен, эта опция помогает его перезапустить. Обратите внимание, что данная опция не должна использоваться, если процесс флашера выполняется.

-m

Перезапускает процесс контроля сигналов. Если процесс управления сигналами некорректно завершен, эта опция помогает его перезапустить. Обратите внимание, что опция не должна использоваться, если процесс контроля сигналов выполняется.

-l

Сохраняет идентификатор пользователя Unix, использованный при подключении к системе (login). Эта опция регистрирует процесс как процесс того же самого пользователя Unix, который подключался к системе Unix. Эта опция замещает определение пользователя, содержащееся в файле конфигурации. Процесс D3, запускаемый с этой опцией, не имеет доступа ни к спулеру D3, ни к средству выдачи сообщений (или, по крайней мере, доступ очень ограничен). Пользователь в некоторой степени изолирован от остальных пользователей D3. Эта опция должна использоваться только пользователями, желающими иметь свою собственную Unix-среду под процессом D3 или конфигурирования системы, что требует привилегий “root”.

-D

Разрешает использование отладчика монитора. При запуске процесс входит в отладчик монитора. Эта опция игнорируется, если запущенный процесс является фантомным процессом или процессом вывода на принтер. После входа в отладчик монитора для реального запуска процесса необходимо ввести g<return>.

-s

Разрешает "тихий" режим ("silent mode"). Если эта опция используется к командой "-0", машина D3 загрузится и вернется прямо в Unix. В случае использования на обычной линии вывод сообщений подключения ("logon"), отключения ("logoff") и макросов подавляется, а любая попытка отключения возвращает прямо в Unix. Т.к. вывод подавляется, флаг "-s", как правило, должен использоваться с флагом "-d", за которым следует строка, содержащая имя пользователя, пароль пользователя, MD и пароль MD, если он используется, что позволяет подключить пользователя к системе D3 автоматически. Флаг "-s" используется командным файлом (shell script) "tcl" Unix.

-i nice

Установка относительного приоритета процесса D3 относительно других процессов, выполняющихся в системе, - как процессов системы D3, так и прочих. Допустимые значения "nice" - "-20" и "+19". "-10" - это самый высокий приоритет, а "+19" - самый низкий.

-W

Ждать, пока устройство, заданное с опцией "t", не будет создано. Эта опция предупреждает D3 monitor, что устройство еще не существует, чтобы предотвратить выдачу ошибки "нет файла" ("no such file"). Опция используется в конфигурациях, где файл в '/dev/' создается динамически демоном Unix (например, на HP-UX с использованием DTC). Процесс опрашивает заданное устройство и ждет пока оно будет создано как канал, блочное или посимвольное устройствоe. Как правило, эта опция игнорируется, если не указана опция "t".

-printer

Эта опция означает, что порт должен использоваться как принтер. Она отменяет сообщения "Connected to virtual machine" ("Подключено к виртуальной машине") и "Disconnected from virtual machine" ("Отключено от виртуальной машины"), но не отменяет стандартные сообщения D3, такие как регистрационное сообщение.

-pprinter

Параллельный принтер. Эта опция означает, что порт должен использоваться как принтер с параллельным интерфейсом. Она должна использоваться для реализаций Unix, в которых устройство описано как устройство "только для записи", как в случае AIX. Если параллельный принтер определен как устройство для чтения/записи, эта опция эквивалентна опции "-printer".

-spooler 
-scheduler 
-phantom 

Любая из этих трех опций означает, что порт должен использоваться для фантомного процесса или для процесса, не связанного с физическим портом.

-u /ttelnet.port,server.hostname

Запускает D3 telnet на порту "telnet.port", где "server.hostname" - имя хоста сервера. Эта опция запускает телнет-сервер D3 на порту, заданном в параметре "telnet.port" и ожидает подключения со стороны клиента. Клиент создает соединение выполнением команды "telnet" на хосте с указанием заданного номера порта.

Примеры:

d3 -0

Запуск виртуальной машины 'pick0' (имя по умолчанию).

d3 -n mymachine -0

Запуск виртуальной машины 'mymachine'.

d3

Запуск процесса пользователя на виртуальной машине 'pick0' (имя по умолчанию ' ') на первом свободном порту (PIB по умолчанию - ' ').

d3 -5

Запуск процесса пользователя на виртуальной машине 'pick0' (имя по умолчанию '-'), порт 5.

d3 -n mymachine -7

Запуск процесса пользователя на виртуальной машине 'mymachine', порт 7.

d3 -q

Вывод информации о виртуальной машине 'pick0' (имя по умолчанию).

d3 -0 -t tty2

Запуск виртуальной машины 0 на '/dev/tty2'. Обычно этот оператор включается в файл '/etc/initab'.

d3 -3 -t tty6 -y "9600 parenb -parodd" -printer

Запуск процесса пользователя на '/dev/tty6' как процесса вывода на принтер. Устанавливаются скорость обмена в 9600 бод и проверка на нечетность. Обычно этот оператор включается в файл '/etc/initab'.

d3 -a a3x

Виртуальная машина загружается автоматически, выполняется восстановление ABS с устройства 3, а затем задается опция "x".

d3 -d '\r\xdm\racct\rterm ibm3151\rmenu\r'

Запуск процесса пользователя на первом свободном порту, запись в стек команд для регистрации данного процесса как пользователя "dm" в счете "acct", выполнение команд "term ibm3151" и "menu".

Командный файл 'boot.ap':

001 # Test if VM is active. else boot it
002 d3 -q > /dev/null
003 if [ $? ! -eq 0 ]
004 then
005    -a x
006 fi

Этот командный файл использует опцию "-q" для проверки того, загружена ли виртуальная машина. Если команда 'd3 -q' возвращает нулевой код выхода (т.е. все в порядке), это означает, что виртуальная машина уже загружена и ничего не делается. В противном случае происходит автоматическая загрузка виртуальной машины.

$su
password:(enter 'root' password)
$d3 -l

Вход в виртуальную машину D3 с сохранением текущего идентификатора пользователя Unix ("root" из-за "su").

$d3 -7 -u /t2007,serverhost &

Запускает фоновый процесс телнет-сервера D3, который подключается к виртуальной машине D3 по умолчанию "pick0" на порту 7 и ожидает соединений со стороны клиента. Если имя хоста сервера "serverhost", клиент Unix создает соединение, используя команду "telnet serverhost 2007" в командной строке Unix.