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







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





  • » Новый проект от Блогуна - новые возможности монетизации блогов и сайтов
  • » Уникальный проект по заработку в сети GreatInvest Group
  • » Как зарабатывать на жизнь, играя
  • » Партнерская программа Gameboss
  • » Обзор счетчиков посещаемости
  • » Биржа продажи ссылок буржуям MainLinkAds
  • » Рекламная контекстная сеть "Контекст"
  • » Интрига от Сапе.ру или новый сервис?
  • » Биржа блочных и контекстных ссылок "Uni Place"
  • » Как заработать деньги на Ютубе?
  • » Читайте фантастику онлайн!
  • » RE:PARK - сервис парковки доменов с неограниченными возможностями
  • » Партнерская программа по продаже шпаргалок
  • » Wizard Packer - сервис создания платных архивов
  • » Movable Type: устранение ошибок
  • » Сервис анализа эффетивности рекламы и сайта
  • » Green Label PPC. PPC партнерка и рекламная сеть
  • » Нужны ли покупные ссылки?
  • » Автоматизированный инструмент для работы с биржами вечных ссылок GoGetTop
  • » Userator - продвижение сайта за счет социальных и поведенческих факторов
  • » Партнерская программа по продаже ДВД
  • » Партнерская программа знакомств GOLD FLIRT
  • » Drive Link: сервис автоматической модерации ссылок и заявок в Sape
  • » Pay Сlick - рекламная тизерная сеть
  • » Анонс сервиса ручной регистрации сайта в каталогах Прогнать.ру
  • » Анонс контекстной платформы "ТООР"
  • » Анонс биржи трастовых ссылок и статей TrustLink
  • » Вывод денег с Google AdSense на любой электронный кошелек
  • » Возможности Интернет-маркетинга
  • » Партнерская программа Web Capitalist
  • » Контентный маркетинг — это не только ссылки: руководство по маркетинговой «воронке»
  • » Новый алгоритм Google
  • » 23 декабря
  • » 35 примеров прекрасных посадочных страниц, дизайну которых можно только позавидовать [и критический разбор]
  • » Один-единственный лучший совет на 2013 год для SEO-специалистов
  • » Совместный вебинар Sape.ru и Ingate «Статистический анализ донорно-акцепторных связей: доступно о сложном»
  • » Аудит от Николая Евдокимова: tran-express.ru
  • » Обновленный скрипт выдачи ссылок
  • » Ап тИЦ
  • » Допремодерировали
  • » Объявление про объявления объявлений
  • » Наберемся терпения
  • » 22 ноября: семинар «Зарубежное SEO – Google, Yahoo, Bing» в Москве
  • » КИНЗА 2014 - первая в России конференция для вебмастеров и манимейкеров
  • » C 8 Марта!
  • » Обновление ТИЦ 05.10.2011
  • » Онлайн-курс «Интернет-маркетолог: от новичка до профи»
  • » DreamWork приглашает
  • » Анализ трафика с сайтов-доноров
  • » 5 шагов по разработке вашего Уникального Торгового Предложения
  • » Изменения в иерархии
  • » Выплаты и бонусы
  • » Привязка ссылок к одной дате
  • » Анализ позиций сайта
  • » Антипремия Рунета 2012: финальные шорт-листы номинантов и Народное Голосование
  • » Показывать нельзя прятать
  • » Cнижение комиссии на пополнение счета через Яндекс.Деньги
  • » АП PageRank 05.05.2012
  • » 54 цитаты руководителей стартапов о том, как повысить конверсию
  • » Аудит от Анара Бабаева: контекстная реклама без наличия сайта


Категории


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

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