Меню сайта
Категории каталога
Основы ОС UNIX. Учебный курс. Часть 11
Управление заданиями - это механизм для отслеживания процессов, которые порождаются из текущего сеанса работы с терминалом. Можно запустить любое число заданий. Они могут работать, завершиться или находиться в других состояниях. Для управления заданиями можно использовать несколько команд, чтобы проследить результаты их работы или потребовать от системы уведомления об окончании задания.
Фоновый режим позволяет продолжить использование сеанса работы с терминалом, пока выполняется команда. Для запуска команды в фоновом режиме, достаточно к команде добавить символ амперсанд (& ). Командный интерпретатор вернет номер задания и идентификатор процесса:
$ make &
[2] 254
$
Если задание не требует от пользователя ввода, оно продолжает свою работу до полного завершения. Если команде нужен ввод, она переходит в состояние ожидания, на экран выводится соответствующее уведомление, которое выглядит примерно так:
[1] + Suspended (tty input) programm 0
В данном случае в ожидании ввода приостановилось выполнение программы programm . Пользователю необходимо перевести из фонового режима в привилегированный и выполнить ввод.
С помощью команды jobs пользователь имеет возможность просмотреть состояние своих заданий и получит список всех заданий запущенных в сеансе работы с терминалом.
$ jobs
[1] Stopped (user) du
[2]- Stopped (user) du -a /home/intdbi
[3]+ Stopped (user) du -r /home/intdbi
$
Команда jobs принимает два флага. Флаг -l включает идентификатор процесса с номером задания.
$ jobs -l
[1] 1351 Stopped (user) du
[2]- 1381 Stopped (user) du -a /home/intdbi
[3]+ 1383 Stopped (user) du -r /home/intdbi
$
Флаг -р заменяет номер задания на идентификатор процесса.
$ jobs -p
1351
1381
1383
$
Идентификатор процесса может использоваться при обращении к команде ps .
Номера заданий
Номер задания позволяет командному интерпретатору наблюдать за процессами. Его можно рассматривать как головной элемент группы процессов, поскольку пользовательское задание порождает любые команды либо в конвейере, либо, как подзадания.
Команда fg переводит задания в привилегированный режим. При наличии приостановленного задания, его можно сделать привилегированным (перевести на передний план) с помощью команды fg #номер_задания (или fg номер_задания в bash ). После этого задание либо выведет на экран сообщение о том, что ему нужно от терминала, либо будет принимать ожидаемый ввод. Переведя задание в привилегированный режим, можно приостановить его выполнение, нажав комбинацию калвиш Ctrl-Z , и заняться им позже.
Любое задание из списка, предоставленного командой jobs , доступно, если пользователь захочет сделать его привилегированным, даже в том случае, когда оно уже работает в фоновом режиме. Если в этом списке приведено только одно задание, то при использовании команды fg пользователю не нужно задавать его номер. Если номер задания не задан, предполагается текущее задание.
С помощью команды bg можно возобновить в фоновом режиме работу приостановленного или остановленного задания. Для этого нужно указать соответствующий номер задания, после чего оно перейдет в фоновый режим, и будет работать до своего завершения, или пока ему снова не потребуется ввод с терминала.
Это последняя существенная команда управления заданиями. При вводе wait приостанавливается работа командного интерпретатора до тех пор, пока не будут завершены все фоновые задания. Сюда входят и любые остановленные задания, поэтому при вводе wait стоит убедиться, что все фоновые задания работают. Команда wait может также принимать в качестве параметра номер задания. В этом случае командный интерпретатор приостанавливается до тех пор, пока не завершится выполнение указанного задания.
Помимо рассмотренных выше команд, ОС UNIX предлагает десятки полезных утилит и средств. Основные утилиты для обработки текстов представлены в табл. 27 , а клиенты основных сетевых служб - в табл. 28 . Полезные команды для создания резервных копий представлены в табл. 29 .
Таблица 27 . Основные утилиты обработки текстов
Утилита
Назначение
awk
Язык обработки шаблонов. Позволяет выполнять произвольную программу при выявлении в тексте определенной строки, соответствующей шаблону. По синтаксису аналогичен C. Содержит множество встроенных функций. Используется для обработки и преобразования текстовых данных, состоящих из столбцов и строк, а также для построения отчетов и анализа журналов.
diff
Команда, сравнивающая два файла и выдающая найденные различия в разных форматах.
ed
Стандартный строчный текстовый редактор. Воспринимает команды из стандартного входного потока, изменяет файлы и часто используется в сценариях.
ex
Расширенная версия редактора ed . Поддерживает множество установок, которые можно запоминать для каждого пользователя в файле .exrc в его начальном каталоге.
head
Выдает указанное количество начальных строк из файла.
more
Позволяет просматривать файл постранично в обоих направлениях, искать в нем по шаблону.
pr
Форматирует файл или входной поток для печати, разбивая его на страницы и снабжая, при необходимости, заголовками.
sed
Потоковая версия редактора ed . Позволяет эффективно выполнять поиск и замену в стандартном входном потоке или указанных файлах.
tail
Выдает указанное количество конечных строк из файла.
tr
Преобразовывает символы во входном потоке, заменяя одни цепочки на другие. Поддерживает весь набор символов.
Таблица 28 . Основные сетевые команды
Утилита
Назначение
ftp
Клиент для обмена файлами с удаленной машиной по сети. Позволяет просматривать каталоги, создавать каталоги на удаленной машине, загружать и выгружать файлы с помощью стандартного набора команд. Допускает автоматизацию операций по обмену файлами.
netstat
Выдает разнообразную статистику о работе сети, содержимое таблиц маршрутизации и т.д.
ping
Посылает специальный пакет ICMP , требующий ответа от удаленного сервера. Позволяет проверить доступность удаленного хоста и скорость работы сети. Обычно доступна только пользователю root .
rlogin
Программа удаленной регистрации. Позволяет работать с удаленной машиной так же, как с локальной. Поддерживает доверительные отношения .
rsh
Удаленный командный интерпретатор. Позволяет выполнить любую команду интерпретатора на удаленной машине и получить ее выходной поток на локальной. Поддерживает доверительные отношения.
ssh
Защищенный командный интерпретатор, функционально аналогичный программам telnet , rsh и rlogin , но передающий пароли и данные в зашифрованном виде .
telnet
Программа удаленного подключения к указанной сетевой службе. Обычно используется для удаленной регистрации. Не поддерживает доверительные отношения.
traceroute
Программа трассировки пакетов. Показывает маршрут, по которому будут направляться пакеты на указанный удаленных хост и скорость передачи на каждом из переходов. Обычно доступна только пользователю root .
Таблица 29 . Основные средства резервного копирования и восстановления
Утилита
Назначение
compress
Сжимает (упаковывает) указанный файл, обычно удаляя исходный вариант. Сжатые файлы обычно имеют суффикс .Z и разжимаются командой uncompress .
cpio
Команда создания архивов. Помещает все указанные файлы, включая содержимое подкаталогов, в архив, выдаваемый в стандартный выходной поток. Получает архив из входного потока и раскрывает в текущем каталоге. Поддерживает различные платформы и форматы, в том числе, формат архивов tar .
dd
Команда копирования блоков данных с одного файла или устройства в другой. Позволяет выполнять преобразования при копировании.
gzip
Утилита GNU для сжатия указанного файла. Упаковывает файлы лучше, чем compress . Работает на всех платформах. Сжатые файлы обычно имеют суффикс .gz и разжимаются командой ungzip (gzip -d ).
tar
Утилита архивирования. Помещает все указанные файлы, включая содержимое подкаталогов, в архив, записываемый в указанный файл. Создает необходимые каталоги и файлы при разархивировании. Первоначально предназначалась для архивирования на ленту.
Программа практических занятий
Занятие 1. 2 часа.
Регистрация в системе. Изменение пароля (passwd ). Просмотр информации о работающих пользователях (who ).
Работа со справочным руководством (man ).
Просмотр содержимого файлов (cat , more ).
Создание файлов различных типов (cat , mkdir , mknod , ln ). Копирование, перемещение и удаление файлов и каталогов (cp , mv , rm , rmdir ).
Просмотр информации о файлах, изменение прав доступа и владельца файлов (ls , chmod , chown , chgrp , umask ).
Просмотр информации о процессах и установка поправки приоритета (ps , nice ).
Посылка сигналов процессам (kill ).
Занятие 2. 2 часа.
Поиск файлов по различным критериям (find ).
Использование утилиты grep для поиска в текстах по образцу
Практическая работа с редактором vi .
Управление заданиями (jobs , bg , fg ).
Занятие 3. 2 часа.
Создание простых конвейеров. Запуск процесса в приоритетном и фоновом режиме. Динамическое формирование командной строки.
Использование цикла for в командном интерпретаторе.
Проверка условий в командном интерпретаторе.
Создание цикла по счетчику в командном интерпретаторе.
Создание и использование функций в командном интерпретаторе.
Создание простого сценария командного интерпретатора.
Файлы начального запуска командного интерпретатора. Настройка среды.
Использование утилит tar , dd , gzip для резервного копирования.
Практическое использование утилит telnet и ftp .
Литература
Керниган Б.В., Пайк Р. "UNIX - универсальная среда программирования" -М.: Финансы и статистика, 1992. - 304 с.
Дегтярев Е.К. "Введение в UNIX" - М.; МП "Память", 1991. - 96 с.
Топхем Д., Чыонг Х.В. "Юникс и Ксеникс" -М.: Мир, 1988. - 392 с.
Кэвин Р., Фостер-Джонсон Э. "UNIX: справочник" -СПб: Питер Ком, 1999. - 384 с.
Немет Э., Снайдер Г., Сибиасс С., Хейн Т.Р. "UNIX: руководство системного администратора" -К.: BHV, 1997 - 832 с.
Робачевский А.М. "Операционная система UNIX" -СПб.: БХВ - Санкт-Петербург, 1999. - 528 с., ил.
Дайсон П. "Операционная система UNIX. Настольный справочник" -М.: ЛОРИ, 1997. - 400 с.
Беляков М.И., Рабовер Ю.И., Фридман А.Л. "Мобильная операционная система: Справочник" - М.: Радио и связь, 1991. - 208 с.
Анонимный автор. "Максимальная безопасность в Linux" -К: Издательство "ДиаСофт", 2000, - 400 с.
Шенк Т. "Red Hat Linux для системных администраторов. Энциклопедия пользователя" -К: Издательство "ДиаСофт", 2001, - 672 с.
Эбен М., Таймэн Б. "FreeBSD. Энциклопедия пользователя" -К: ООО "ТИД "ДС", 2002, - 736 с.
Примечание
К переводу последних трех книг на русский я имел непосредственное отношение как переводчик и научный редактор.
Источники информации в Internet
История UNIX
http://perso.wanadoo.fr/levenez/unix/
Генеалогическое дерево версий UNIX вплоть до настоящего времени.
http://www.faqs.org/faqs/unix-faq/faq/part6/
http://www.crackmonkey.org/unix.html
http://catb.org/~esr
Персональная страница Эрика Реймонда. Обратите внимание на его новую книгу "The Art of UNIX Programming"!
Справочные руководства по командам:
http://opennet.ru
Ну, кто же их не знает... Основной источник информации о UNIX на русском языке.
http://citforum.ru
Центр информационных технологий моего родного МГУ. Источник огромного объема информации по ИТ на русском. Есть и переводы страниц справочного руководства BSD.
http://ln.com.ua/~openxs/projects/man
Проект "Страницы справочного руководства ОС UNIX на русском". Мой.
http://www.gnu.org/manual/manual.html
Справочные руководства по утилитам проекта GNU
Другие источники информации
http://catb.org/~esr
Персональная страница Эрика Реймонда. Это один из идеологов разработки свободно распространяемого программного обеспечения. Его работы надо читать как Евангелие...
http://linuxnews.ru
Новости Linux на русском. Полезная документация. Форум
http://www.freebsd.org
Основной сайт ОС FreeBSD
http://docs.sun.com
Документация по ОС Solaris
http://www.gnu.org
Сайт проекта GNU
Категория: Установка и настройка | Добавил: oleg (10.12.2007)
Просмотров: 930 | Рейтинг: 0.0 /0 |
- Оценить -
Отлично
Хорошо
Неплохо
Плохо
Ужасно
Добавлять комментарии могут только зарегистрированные пользователи.
[
Регистрация |
Вход ]
Форма входа
Друзья сайта