Любая версия из семейства UNIX/Linux поддерживает выполнение процессов нескольких типов. Прежде всего, это такие, которым соответствуют программы, запускаемые пользователем в обычном режиме из командной строки или с использованием элементов графического интерфейса, как это выполнялось в предыдущих лабораторных работах. Назовем их интерактивные процессы пользователя. Но при загрузке первыми запускаются системные. Именно от них зависит работоспособность вычислительной установки, ее функциональность. Среди системных процессов сначала выделим запускаемые ядром. Команда ps, как было сказано в лабораторной работе 2, выводит имени процессов, которые порождены ядром, заключенные в квадратные скобки. Поэтому, выполнив такую команду (она уже приводилась в работе 2)
ps -ef | grep “\[“
получаем их список.
Продолжим классификацию процессов. В системе существуют еще один тип системных процессов, называемых демоны (daemon). После запуска они находятся в режиме ожидания, пока не потребуются их «услуги». К примеру, если в системе организован обмен файлами по протоколу ftp или компьютер является Web-узлом, такие потребности не надо обеспечивать постоянно. На компьютере запускаются демоны, которые регулярно проверяют систему на наличие потребности в таких услугах и обеспечивают их по мере необходимости.
Демоны в UNIX появились давно. По мере увеличения возможностей этих операционных систем количество демонов, постоянно запущенных в системе, возрастало. Сотрудники университета Беркли разработали inetd– демон, отвечающий за запуск других демонов. В его имени последней буквой является d, что часто встречается для программ такого типа.
Приведем пример запуска двух демонов nmbd и smbd системы Самба (samba), являющейся средством совместной работы в сети компьютеров с разными операционными системами. Этот пример является частью инициализационного скрипта и представляет собой один из элементов оператора множественного выбора (case). Уже в следующей лабораторной работе он рассматривается более подробно.
case "$1" in
start)
echo -n "Starting SMB services: "
daemon smbd -D
daemon nmbd -D
Как видим, демоны могут запускаться специальным образом, когда перед их именем указывается daemon.
Есть еще одна группа процессов, называемых пакетные. Процессы этой группы отличаются от остальных, тем, что они запускают в определенное время. Перечислим несколько команд (системных утилит), порождающих процессы такого типа
1) at – запуск команды в определенное время.
2) batchпредставляет собой попытку не диктовать жестко время отложенного запуска программы. В этом случае системе запускает задачи из списка batch, когда наступает момент небольшой загрузки системы.
Команды at и batch – одноразовые.
3) cron – это средство регулярного запуска программ по расписанию.