CentOS: Управление процессами - Справочник Манимейкера или Народные ссылки



CentOS: Управление процессами

Любая выполняемая программа называется процессом. Всё что запускается при включении компьютера, является процессом. Каждый процесс запускается от имени какого-то пользователя. Процессы, которые стартовали при загрузке обычно выполняются от имени root пользователя, или от имени пользователя nobody. Процессы запущенные вами, обычно выполняются от вашего имени. Процессы, начатые другими пользователями, работают под их именем.

Вы можете управлять теми процессами, которые вы запустили. Вдобавок к этому, root может управлять всеми процессами в системе, даже теми, которые выполняются другими пользователями. Процессами можно управлять и наблюдать за ними при помощи специальных программ, а так же при помощи некоторых команд оболочки.

Иногда некоторые программы выходят из под контроля и тогда вам нужно "поставить их на место". Программа для такого вида администрирования называется kill(1). Также её можно использовать для управления процессами разными способами. Самым очевидным способом использования kill является убивание процесса (от англ. kill - убивать). Вам придётся воспользоваться этой программой в том случае, если программа вышла из под контроля и начинает использовать много системных ресурсов или если вас просто тошнит от её работы.

Чтобы убить процесс, вам нужно знать его PID или имя. Чтобы узнать идентификатор, воспользуйтесь командой ps, описанной в предыдущем разделе. Например, чтобы убить процесс 4747, вам нужно выполнить следующее:

% kill 4747

Учтите, чтобы убить процесс, вы должны быть его владельцем. Это особенность системы безопасности. Если бы вам разрешалось убивать процессы других пользователей, вы могли бы осуществлять всевозможные злоумышленные действия. Ну и, естественно, root может убить любой процесс в системе.

Существует ещё одна разновидность утилиты kill под название killall(1). Эта программа полностью соответствует своему названию (kill all - убить всех): она убивает все работающие процессы с заданным именем. Если вам нужно убить все процессы vim, вы можете набрать следующую команду:

% killall vim

Все запущенные вам процессы с именем vim будут убиты. Выполнив эту команду под root'ом, вы убьёте также все процессы vim, запущенные пользователями системы. Это также представляет собой интересный способ для выбрасывания из системы всех пользователей (включая самого вас):

# killall bash

Иногда обычный kill не справляется с поставленной задачей. Определённые процессы не будут умирать. Тогда вам нужно использовать более сильное средство. Если этот упрямый PID 4747 не отвечает на ваш запрос kill, вы можете выполнить следующее:

% kill -9 4747

Это наверняка заставит процесс 4747 умереть. То же самое вы можете использовать и с killall. В данном случае вы просто отправляете процессу другой сигнал. Обычный вызов kill отправляет процессу сигнал SIGTERM (terminate), который сообщает ему, что нужно остановить свою работу, сбросить буферы и выгрузить себя из памяти. kill -9 отправляет процессу сигнал SIGKILL (kill), который по сути просто убивает его. Процессу не разрешается "чисто" завершить свою работу, и иногда это приводит к нежелательным последствиям, таким как повреждение данных. Ниже представлен полный список сигналов. Вы можете получить этот список с помощью следующей команды:

% kill -l
  1) SIGHUP     2) SIGINT    3) SIGQUIT   4) SIGILL
  5) SIGTRAP    6) SIGABRT   7) SIGBUS    8) SIGFPE
  9) SIGKILL   10) SIGUSR1  11) SIGSEGV  12) SIGUSR2
 13) SIGPIPE   14) SIGALRM  15) SIGTERM  17) SIGCHLD
 18) SIGCONT   19) SIGSTOP  20) SIGTSTP  21) SIGTTIN
 22) SIGTTOU   23) SIGURG   24) SIGXCPU  25) SIGXFSZ
 26) SIGVTALRM 27) SIGPROF  28) SIGWINCH 29) SIGIO
 30) SIGPWR

В kill нужно использовать только числа, а в killall можно использовать названия сигналов без приставки "SIG". Вот ещё один пример:

% killall -KILL vim

И напоследок, одним из полезных вариантов использования kill является перезапуск процесса. Отправка большинству процессов сигнала SIGHUP заставит их повторно прочитать свои конфигурационные файлы. Это особенно полезно для сообщения системным процессам о том, что им нужно перечитать свои конфигурационные файлы после того, как вы их отредактировали.

Народная ссылка для регистрации:

CentOS: Управление процессами

Категории:

Поделитесь этой записью или добавьте в закладки

   






Комментировать





Другие материалы и статьи
» Автоматизированная система обмена ссылками: Представляем уникальную автоматизированную систему обмена тематическими ссылками.Высочайший уровень сер...
» Партнерская сеть MixMarket: MixMarket.BIZ -- полномасштабная партнерская сеть, объединяющаяя в себе огромное количество партнерских...
» Партнерская программа интернет-магазина электрооборудования: Представляю краткий анонс партнерской программы по созданию собственного интернет-магазина по продаже э...
» Монетизация блога - миф или реальность? Часть 1: И в продолжение темы "Аутсайдеры ссылочного рынка - гении или психи?" решил написать обзорчик на тему м...
» Green Label PPC. PPC партнерка и рекламная сеть: Партнерская программа Green Label PPC - это программа, работающая на основе системы оплаты за клики.Веб...

Категории