Утилита on

С дистрибутивом QNX поставляется очень полезная утилита on. Эта утилита разработана специально для QNX, и аналогов, во всяком случае, полных, в других системах не существует. В справочнике команд QNX об утилите on говорится как о своеобразной надстройке над интерпретатором shell. Я бы даже сказал, что это сетевое расширение интерпретатора. В процессе «эволюции» различных ветвей UNIX появилось очень много способов удаленного запуска процессов и обмена данными между ними. Это rsh, rlogin, процедуры RPC, просто telnet/ssh и многое, многое другое. В QNX развитие этой возможности вылилось в разработку и создание своей собственной, отличной от IP, сети. Сеть QNX настолько прозрачна, что наличие механизмов, подобных имеющимся в других UNIX-системах, в ней просто не нужно (хотя все они присутствуют для сохранения совместимости с другими системами): процессы «общаются» друг с другом посредством сообщений микроядра, причем находятся ли эти процессы на одном компьютере или на разных — совершенно не важно.

Какие возможности дает пользователю утилита on?

Вот список самых важных, с моей точки зрения, вещей, которые позволяет делать утилита on:

запускать процессы на удаленном узле QNX сети;
запускать процессы с удаленного узла QNX сети;
запускать процессы с установленным фиксированным уровнем приоритета (от 1 до 63);
запускать процессы на другом терминале (перенаправление ввода/вывода и установка управляющего терминала);
запускать процессы от имени другого пользователя (только при наличии привилегий администратора);
останавливать процесс сразу после запуска для отладочных целей (аналогично команде run в gdb). Это позволяет присоединиться к отлаживаемому процессу отладчиком, и продолжить его выполнение вручную;
Первые два пункта взаимно исключают друг друга, остальные же возможности могут использоваться одновременно. Вот как, например, можно запустить утилиту id на удаленном узле test от имени пользователя dmi с приоритетом 63 на терминале /dev/con4

РубрикиFAQМетки

Добавить комментарий