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 заставит их повторно прочитать свои конфигурационные файлы. Это особенно полезно для сообщения системным процессам о том, что им нужно перечитать свои конфигурационные файлы после того, как вы их отредактировали.







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





  • » Сервис обмена электронных валют
  • » Партнерская сеть MixMarket
  • » Паркинг доменов -- бизнес или халява?
  • » Биржа покупки и продажи трафика On Links
  • » Биржа трафика Wizard Traffic
  • » Долгожданное удаление доменных имен из реестров доменов .РФ и .RU продолжится 29 декабря
  • » Автоматизированный инструмент для работы с биржами вечных ссылок GoGetTop
  • » Партнерская программа по монетизации студенческого трафика R-Money
  • » Что такое ПИФы? И какие из них лучшие в России?
  • » Анонс сервиса ручной регистрации сайта в каталогах Прогнать.ру
  • » Партнёрская программа PRO FOREX
  • » CentOS: управление аппаратным RAID контроллером HP
  • » Популярные поисковые запросы блога
  • » Партнерская программа компании Mr.Сумкин
  • » Современная система купли-продажи тематических текстовых ссылок и рекламных мест с главных и внутренних страниц сайтов
  • » Партнерская программа по продаже фармацевтики Income Pharmacy
  • » Биржа ссылок MainLink по следам Sape или процесс пошёл...
  • » Партнёрская программа по конвертации кинотрафика Load Partners
  • » Рекламный брокер по покупке и продаже трафика "ТаК"
  • » Международный форум трейдеров в Крыму. Регистрация!
  • » Биржа "Pro Page": покупка и продажа ссылок
  • » Сервис заработка на любых ссылках Ya Lc
  • » Конкурс трейдеров «Я люблю деньги! Весна-2010» РЕГИСТРАЦИЯ, РЕЙТИНГ и ПРАВИЛА!
  • » "Контент-маркет" - покупка и продажа контента
  • » Глоссарий и методы получения уникального контента
  • » Анонс партнерской сети Ping Media
  • » RSS-канал, социалка и прочее как средства продвижения блога (сайта)
  • » Шрифты для сайта
  • » Система контекстной рекламы TopAdvert : туризм и книги
  • » Автоматическая биржа размещения рекламы в блогах и социальных сетях Getpost
  • » Онлайн-марафон «Бизнес — перезагрузка — 2013»
  • » Bigpicture: как превратить автономный блог в коммерческий проект
  • » Антипремия Рунета 2012: финальные шорт-листы номинантов и Народное Голосование
  • » Коронная рассылка
  • » Бесплатный совместный вебинар Sape и «Моё дело» для вебмастеров
  • » Вебинар Федора Вирина «13 ошибок интернет-маркетинга»
  • » Сертификация от Sape
  • » Задержка билинга
  • » Не-конференция AgileCamp
  • » Проведена чистка и оптимизация
  • » Конкурс «SeoPult без границ» завершён!
  • » Лотерея конкурса “Яблочный спас” от SeoPult и Copiny: как это было!
  • » Блогун помог «Кошкиному дому»
  • » Получите бонус на контекстную рекламу
  • » Аудит от Николая Евдокимова: best-urist.ru
  • » 5-6 ноября, Калининград: конференция по SEO и SMM
  • » Wizard.Sape представил новый лайт-интерфейс
  • » Инструменты маркетинга в социальных медиа и их важность
  • » Шестая ежегодная конференция – мастер-класс «PR в Интернете – 2013»
  • » Профессиональная конференция по веб-аналитике: хотите научиться принимать правильные решения — не пропустите Go Analytics!
  • » 5 уроков контент-маркетинга от Барака Обамы
  • » АП тИЦ 28.01.2010
  • » Кириллические домены в URL проектов
  • » Улучшение поведенческих факторов в SeoPult (открытое бета-тестирование)
  • » Бета-тестирование контекстной рекламы в Wizard.Sape
  • » Посадочные страницы: самые опасные ошибки и способы их устранения
  • » 12-13 февраля, Москва: профессиональная практическая конференция All in Top Conf-2014
  • » Авария в дата-центре
  • » Статус-предупреждение для проекта
  • » Добрый день!


Категории


Полезные заметки

Популярные записи