FreeBSD: процессы, демоны и сигналы |
![]() |
Добавил(а) microsin |
Каждая программа (в том числе и демон), запущенная на BSD, порождает как минимум один процесс. Каждый процесс имеет уникальный номер PID. Процессы, не требующие интерактивного общения с пользователем в консоли и работающие в фоновом режиме, называются демонами. Обычно имя демона оканчивается на 'd', например, named. Всем процессам (в том числе и демонам) с помощью команды kill можно посылать сообщения. Сообщения могут быть следующие (имена сигналов могут быть без префикса SIG): SIGSEGV нарушение сегментации памяти Пример использования kill для посылки сообщения (обновление изменений конфигурации демона inetd. Команда grep(1) используется для поиска по заданной строке в выходном потоке. Эта команда запускается под обычным пользователем, а inetd(8) под root, поэтому ps(1) должна быть запущена с параметром ax): % ps -ax | grep inetd 198 ?? IWs 0:00.00 inetd -wW %su Password: # /bin/kill -s HUP 198 Гарантированное уничтожение процесса по его идентификатору (-9 означает сигнал KILL): # kill -9 идентификатор Гарантированное уничтожение процесса по его идентификатору (опция -s позволяет использовать имена сигналов): # kill -s KILL идентификатор Напомню, что идентификатор процесса можно узнать командой ps: # ps # ps -ax | grep mpd Для определения загрузки системы процессами удобно использовать программу top. Кроме загрузки процесора, показывается утилизация памяти. Есть также удобная команда killall, которая удаляет процесс по имени. Вот так посылается сигнал SIGHUP демону syslogd: # killall -e -HUP syslogd
|