Как убить процесс в Linux. Убиваем процессы в Linux — команды ps, kill и killall

Инструкция

Internet Protocol (IP) определяет доставку данных от одного узла сети до другого. При этом он не гарантирует точность доставки: пакеты при передаче могут теряться или поступать не в том порядке, в котором были отправлены. За точность отвечает протокол транс ного уровня Transmission Control Protocol – TCP. TCP устанавливает соединение, контролирует отправку и получение пакетов, дублирует свои действия в том случае, если ответ на запрос не получен или пакеты потерялись. Важно понимать, что TCP устанавливает обмен пакетами не просто между узлами, а между программными приложениями. Сетевой порт – это условное , число от 1 до 65535, которое указывает, какому приложению назначен пакет.

Узнать, какими процессами используются порты на компьютере, можно при помощи стандартных средств Windows. В меню «Пуск» нажмите «выполнить» и в командную строку введите cmd. Подтвердите ОК. В окне консоли наберите команду netstat -a -n -o.

В столбце PID указан номер процесса, в столбце « » - IP-адрес вашего компьютера и, через двоеточие, номер порта, который занят соответствующим процессом. «Внешний адрес» – это IP и номер порта удаленного узла, с которым работает какое-то приложение.

В окне консоли наберите команду tasklist. Она выдаст список всех приложений с кодом PID, которые выполняются на компьютере. Таким образом вы узнаете, какой именно процесс занимает любой порт на вашем компьютере.

Можете получить эти сведения иначе: запустите "Диспетчер задач" из командной строки, набрав taskmgr, или комбинацией клавиш Ctrl+Alt+Delete. В столбце PID найдите номер интересующего вас процесса, в столбце «Имя образа» – название соответствующего приложения или службы. Если PID не отображается в окне Диспетчера, зайдите в пункт «Вид» главного меню и выбирайте опцию «Выбрать столбцы». Поставьте флаг рядом с пунктом «Идентиф.процесса (PID)».

Когда на компьютере запускается какой-либо процесс, он получает свой pid, то есть идентификатор процесса . Иногда возникает необходимость узнать этот самый идентификатор. Возможно, вам по каким-либо причинам нужно отключить запущенный процесс, например, если он мешает удалению программы. Существует несколько способов, позволяющих узнать pid. Самый простой из них: сделать это с помощью диспетчера задач и командной строки.

Вам понадобится

  • - компьютер с ОС Windows (XP, Windows 7).

Инструкция

Нажмите на клавиатуре сочетание клавиш ctrl+alt+del. Если вашей операционной системой является Windows ХР, то диспетчер задач появится сразу, если же Windows 7 - появится окно, в котором его можно выбрать.

В выберите вкладку «Процессы». Теперь здесь же кликните по пункту «Вид». Появится дополнительное окно. В нем выберите параметр «Выбрать столбцы». Возникнет диалоговое окно, в котором самый верхний пункт будет называться «ИД процесса (pid)». Напротив него установите флажок. Сохраните настройки, нажав ОК.

Затем в диспетчере устройств пройдите во вкладку «Процессы», где вы увидите строку «ИД процесса ». Найдите в ней название процесса , идентификатор которого вам нужно узнать, и посмотрите его значение.

Теперь будет рассмотрено, это значение с помощью командной строки операционной системы. Нажмите кнопку «Пуск» и перейдите на вкладку «Все программы». Выберите «Стандартные программы». Здесь найдите пункт меню «Командная строка» и запустите его. Введите tasklist и нажмите клавишу Enter. После активации этой команды в окне командной строки появится список всех активных на данный момент процессов. После имени каждого из них будет написан его идентификатор.

Если вам необходимо быстро завершить процесс, то сделать это можно так. После того как вы узнаете идентификатор процесса , наберите в командной строке taskkill /pid 0000. Вместо нулей введите число идентификатора процесса , который требуется « ». После этого система отправит сигнал на его завершение, и он будет выключен.

Обратите внимание

При завершении процессов будьте внимательны. По неосторожности можно отключить активный процесс, который требуется для корректной работы операционной системы.

Обращение к почтовым серверам в программе The Bat! (как и в других почтовых программах) происходит через определенные порты для отправки и приема почты. Чтобы настроить работу почтовой программы, вам надо внести в параметры ящика номера портов SMTP и POP3, а также названия серверов.

Вам понадобится

  • - данные от почты.

Инструкция

Зайдите на сайт вашего почтового сервера. Например, ваш почтовый сервер mail.ru. Вам потребуется авторизоваться - то есть ввести логин и пароль, - чтобы войти в личный почтовый ящик. Найдите ссылку на помощь и кликните по ней мышью.

Список разделов помощи находится слева. Кликните по надписи «Доступ из почтовых программ» и выберите первый пункт, чтобы загрузить страницу настроек. На странице указано, что название сервера входящей почты - pop.mail.ru, а сервера исходящей - smtp.mail.ru. Это относится только к данному сервису. Как правило, у каждого постового сервера могут быть разные порты, поэтому заходите на официальный сайт в центр поддержки и узнавайте данные. Также существуют в интернете сайты, которые предоставляют информацию практически по всем сервисам, которые существуют в интернете.

Номера портов серверов исходящей и входящей почты указаны внизу страницы. Там указано, что для сервера входящей почты протоколы имеют номера 110 (если почтовая программа работает без шифрования) и 995 (с шифрованием). Чтобы узнать, какую именно цифру вводить, изучите настройки вашей почтовой программы. Номер порта исходящей почты - 25, 587 или 2525 (если почтовая программа не использует шифрование) и 465 (с шифрованием). Стандартными почтовыми портами считаются 110 и 25. В программе также могут быть по умолчанию прописаны стандартные номера портов, поэтому при необходимости вам нужно будет их исправить на правильные.

Если вы используете другой почтовый сервер, зайдите на сайт для получения настроек. Такого рода параметры всегда публичны и обычно размещаются в разделе помощи. Если в вашем предприятии используется корпоративная почта, узнать номера портов можно у администратора сети.

TCP/IP – это совокупность протоколов , которая позволяет соединить индивидуальные компьютеры и сети в общую вычислительную сеть. При помощи протоколов TCP/IP большинство прикладных программ обмениваются информацией в сети Internet.

М ы покажем вам, как убить процесс в Linux. Одним из главных преимуществ Linux, является возможность завершить процесс без необходимости перезагрузки сервера. В этой статье мы покажем вам, как убить процесс в Linux с помощью команды kill, pkill и killall.

1. Что такое PID

Прежде чем мы начнем, мы должны знать, что такое ID процесса (PID).

PID представляет собой цифровую идентификацию процесса в . Каждый процесс имеет уникальный PID. В самом деле, например, первый процесс, который начинается в системе на базе Linux, это процесс, и его PID устанавливается в 1. Этот процесс является родителем всех остальных процессов. Процесс инициализации не может быть убит с помощью команд kill, и это гарантирует, что это не будет случайно убит.

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

Это дает нам список всех запущенных процессов и их соответствующие PIDы.

Если мы хотим найти PID определенного процесса, мы можем использовать команду pidof с последующим именем процесса. Например, чтобы узнать PID нашего процесса MySQL, можно выполнить следующую команду:

Pidof mysql

Для еще более подробной информации, мы можем использовать команду ps aux вместе с grep :

Ps aux | grep mysql

Теперь, когда мы знаем, что такое PID и как найти PID конкретного процесса мы можем перейти к следующему разделу и узнать, как убить его.

2. Убить процесс с помощью команды kill в Linux

Есть несколько важных правил, которые мы должны знать, прежде чем начать использовать команду kill.

  • Вы можете убить только собственные процессы, которые принадлежат вашему идентификатору пользователя
  • Вы не можете убивать процессы других пользователей
  • Вы не можете убить системные процессы (если вы не суперпользователь)
  • Пользователь root может убить процесс любого другого пользователя и любой системный процесс

Когда мы убиваем процесс с командой kill, мы на самом деле отправляем конкретный сигнал PID-регулятор, который мы хотим убить. Следующие сигналы используются командой kill:

1 = Hung up 9 = Kill 15 = Terminate

Сигнал hung up используется редко. Чаще всего мы используем сигнал kill, и если он не работает, то мы можем использовать сигнал Terminate.

Поэтому, как только мы находим PID процесса, который мы хотим убить, используйте один из методов, описанных нами ранее, мы можем использовать команду kill -9 PID , чтобы убить процесс с этого конкретного PID.

Например, если PID равный 6738, то мы можем использовать следующую команду:

Kill -9 6738

3. Убить процесс с помощью команды pkill в Linux

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

Pkill mysql

4. Убить процесс с помощью команды killall в Linux

Две предыдущие команды используются, чтобы убить только один конкретный процесс. Но, если мы хотим убить процесс вместе со всеми его дочерними процессами мы можем использовать команду killall :

Killall mysql

В этом примере мы убьем процесс MySQL и все его дочерние процессы.

Они являются наиболее распространенными примерами убийства процесса в Linux.

Как бы там ни было, но некоторые приложения в Linux иногда зависают. При этом бывают ситуации, когда приложение вообще не отзывается, либо работает так медленно, что корректно завершить его работу не представляется возможным. Чтобы оперативно выйти из получившейся ситуации можно «убить» данный процесс. Для этог используеются команды kill и killall . Сейчас мы разберемся как использоваться эти команды, находить PID процесса и посылать сигнал SIGKILL.

Чтобы избежать путацины, договоримся под процессом понимать запущенную в систему программу. Например, если у вас запушено несколько окон браузера Mozilla Firefox — это значит, что запущено три процесса.

Определить PID процесса — команда pidof

PID — уникальный идентификатор процесса в системе Linux . Чтобы корректно выполнить остановку процесса сначала стоит определить его PID. Для этого используются команды ps и grep. В свою очередь команда ps предназначена для вывода списка активных процессов в системе и информации о них. Команда grep запускается одновременно с ps (в канале) и будет выполнять поиск по результатам команды ps. Вывести список всех процессов можно, выполнив в командной строке:

Разумеется, PID можно определить и через top . Но в большинстве случаев количество процессов слишком велико (и динамически меняется в top), поэтому быстро и правильно определить PID не так уж и просто. Как раз для этого используется команда grep. Например, для завершения процесса браузера Google Chrome необходимо выполнить следующую команду:

ps axu | grep chrome

[ ////// ~]$ ps axu | grep chrome
itechf2 20474 2.7 1.5 938416 120136 tty2 Sl+ 11:07 0:00 /opt/google/chrome/chrome

В нашем случае 20474 и есть искомый PID. Более простой способ — использовать команду pidof , при этом необходимо указывать имя процесса. Например:

[ ///// ~]$ pidof chrome
20728 20706 20668 20647 20586 20574 20553 20508 20474

Завершить процесс в Linux — команды kill и killall

Завершить процесс в операционной системе Linux , зная его PID, можно командой kill . Стоит знать и понимать: команда kill предназначена для посылки сигнала процессу. По умолчанию, если мы не указываем какой сигнал посылать, посылается сигнал SIGTERM (от слова termination - завершение). SIGTERM указывает процессу на то, что необходимо завершиться. Каждый сигнал имеет свой номер. SIGTERM имеет номер 15. Список всех сигналов (и их номеров), которые может послать команда kill, можно вывести, выполнив kill -l . Чтобы послать сигнал SIGKILL (он имеет номер 9) процессу 2811, выполните в командой строке:

При этом, сигнал SIGTERM может и не остановить процесс (например, при перехвате или блокировке сигнала), SIGKILL же выполняет уничтожение процесса всегда, так как его нельзя перехватить или проигнорировать.

Команда killall в Linux предназначена для «убийства» всех процессов, имеющих одно и то же имя. Это удобно, так как нам не нужно знать PID процесса. Например, мы хотим закрыть все процессы с именем chrome. Выполните в терминале:

Команда killall, также как и kill, по умолчанию шлет сигнал SIGTERM. Чтобы послать другой сигнал нужно воспользоваться опцией -s . Например:

Бывают такие моменты, когда приложение начинает глючить, и вместе с ним и все рабочее окружение, конечно, можно и перезагрузить компьютер, и исправность сама по себе улетучиться, но это не вариант каждый раз перезагружать свой компьютер. И для этого существует команда Kill , которая поможет вам, остановить зависший процесс.

Команда Kill может быть использована, чтобы убить или прекратить процесс, используя “Signal” или “PID”. Команда Kill посылает указанный сигнал чтобы завершить некорректно ведущее себя приложение. Если не указан ни один сигнал, посылается сигнал TERM. Этот сигнал TERM будет убивать процессы, которые не поймают его; для других процессов может быть необходимо использовать сигнал Kill (номер 9), так как этот сигнал не может быть перехвачен.

SIGTERM – это сигнал который запрашивает остановку работы процесса. Этому процессу дается некоторое время на завершение работы.

Ну а с помощью сигнала SIGKILL мы можем заставить процесс прекратить работу немедленно. И Программа не имеет права проигнорировать этот сигнал, и завершает работу приложения.

Ниже приведен формат команды Kill:

kill [ -signal | -s signal ] pid …

Самый простой способ убить процесс, это найти PID ресурса, а затем запустить PID, как аргумент с командой Kill.

Что такое PID?

Каждому процессу Linux или Unix или выполняемой программе, автоматически присваивается идентификационный номер уникального процесса (PID). PID автоматически присваивает номер для каждого процесса в системе.

Вы можете найти PID ресурса с использованием команды “pidof” или команды “ps”. Чтобы узнать PID процесса (скажем, firefox), используйте следующую команду

Pidof firefox

Вы также можете использовать команду в другой форме:

Ps -A | grep -i firefox

В приведенном выше примере, выводится число “23814” которое и является PID процесса firefox. После того, как PID процесса (firefox) вам известно, вы можете использовать команду Kill, чтобы убить процесс (Firefox), как показано ниже.

Kill 23814

Когда команда выполняет уничтожение, то есть она посылает сигнал процессу, чей PID передается вместе с командой в качестве аргумента.

Чтобы быть более конкретным, то команда Kill имеет следующие формы:

  • kill PID
  • kill -15 PID
  • kill -9 PID
  • kill -SIGTERM PID
  • kill -SIGTERM PID

Команда Kill имеет следующие коды возврата:

  • 0 – при успехе
  • 1 – неудача
  • 64 – частичный успех (если указано более одного процесса)

Еще одна команда, которую вы можете использовать, это KillAll . Killall также использует имя процесса вместо PID и завершает все экземпляры процесса с этим именем. Например, если вы запустили несколько экземпляров Firefox, вы можете завершить их все с помощью команды

Killall firefox

Для X-сервера, есть еще одна команда называется Xkill , которая может убивать процессы. Команда Xkill предназначена для графического режима, без прохождения имени процесса или его PID, то есть если вы запустите в терминале

то у вас появится крестик, с помощь которого вы можете завершить не работающую программу, просто кликнув по ней.

Вот так просто и легко, убивать процессы в операционных системах GNU/Linux.

Управление компьютером кажется простым занятием, но так ли это? Километры машинного кода, организация взаимодействия программ, ресурсов и пользователя. Важно не только создать жизнеспособную среду, но и придать ей возможность дальнейшего развития и оптимизации. Разработчикам же остается использовать доступный инструментарий.

Функции операционной системы

Прежде чем ответить на вопрос, что такое pid, важно понять функциональные возможности, от реализации которых зависят и функции идентификатора:

  • работа с данными, запуск и остановка ПО;
  • взаимодействие с устройствами ввода/вывода;
  • распределение и организация оперативной памяти;
  • обеспечение доступа к энергозависимым носителям;
  • оптимизация ресурсов машины;
  • обеспечение безопасного доступа каждого объекта к ресурсам машины;
  • надежные вычисления;
  • защита данных от вредоносного ПО и намеренного взлома.


Базовые понятия

Дальнейшее повествование будет базироваться на приведенных ниже понятиях. Пренебрегая этим пунктом, будет сложно понять, что такое pid.

Процесс - это любой объект, использующий ресурсы системы, согласно стандарту ISO. 9000:2000 - совокупность операций, взаимодействие которых преобразует входящие данные в исходящие.

Любой процесс характеризуется несколькими параметрами:

  • машинным кодом;
  • исполняемым кодом;
  • зарезервированным фрагментом памяти (иногда - виртуальной);
  • атрибутами безопасности;
  • входными/выходными данными;
  • стеком вызова, который следит за активностью каждого объекта;
  • так называемой «кучей», хранящей промежуточные результаты операций и вычислений.

Процесс создается операционной системой с момента запуска или при получении соответствующего запроса. Завершение происходит путем сбора статистической информации с последующим удалением и взаимодействием с очередью планирования и выделением ресурсов. С теоретической базой покончено, пора дать ответ на важнейший вопрос, что такое pid.

Понятие идентификатора

Каждая запущенная программа идентифицируется или распознается с помощью уникального номера с меткой. Таким образом система взаимодействует с каждым процессом.

Чтобы поближе познакомиться с указателем, можно пойти двумя путями:

  1. Вызываем диспетчер задач правой кнопкой мыши на панели задач. Далее, переходим во вкладку «Процессы», выбираем меню «Вид». Находим пункт «Выбрать столбцы», в открывшемся диалоговом окне ставим галочку для PID. В командной строке прописываем tasklist.
  2. Для Unix-систем верна и другая тактика. Здесь рекомендуется использовать команду ps. С ее помощью можно найти идентификатор для конкретной программы.

Разрешается использование уникального номера для поиска потенциально вредоносного ПО. Дело в том, что вирусы часто маскируются под «благопристойные» файлы, указатель же дает четкое представление о безопасности рассматриваемого объекта. Нужно только уметь распознать, «что такое pid» из кодового потока системных и менее значительных процессов.

Современные языки программирования позволяют «вычленить» из обычного номера информацию об интересующем объекте. На программном уровне можно разработать код, напрямую взаимодействующий с pid. Что это дает? Ценой пары кликов удастся вывести полный путь к интересующему файлу или программе. По сути, это позволит не только понять и оптимизировать работу системы (количество необходимых ресурсов), но и защитить машину от потенциальной угрозы.

Чтобы не запутаться

В электронике существует и pid-регулятор - электронное устройство, использующееся в системах автоматического управления. Позволяет не только формировать сигнал управления, но и влиять на показатели точности и качества переходного процесса.

Многие пользователи путают два понятия, но они абсолютно разные. После прочтения статьи окончательно должен иссякнуть вопрос, «что такое pid процесса», так как приведенные сведения дают полное описание и возможности указателя. Важно понимать, что функционирование «операционки» напрямую зависит от каждого винтика фундаментальной системы. Сегодня был рассмотрена лишь частичка на микроуровне компьютера как машины.