Linux: как убить процесс с помощью терминальных команд


Опубликованно 26.01.2019 21:55

Linux: как убить процесс с помощью терминальных команд

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

Самый простой и универсальный способ убить процесс в Linux-это использование терминалов управления. Этот вариант будет работать на любой дистрибутив Linux. Процесс в Linux

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

Все процессы, работающие под Linux, имеют следующие атрибуты: PID — уникальный для каждого процесса метке PPID — идентификатор родительского процесса. Идентификатор пользователя, который запустил процесс. Приоритет. Состояние процесса.

Каждый процесс находится в одном из следующих состояний: "На самом деле". Для индикации состояния букву R. Процесс, который запустил системы операции, например ввод или вывод данных, и ждет, когда завершено его выполнение, называется "Ожидание". Обозначается буквой S. Процесс, который остановлен пользователем или ОПЕРАЦИОННОЙ системой Linux, находится в состоянии "Остановлен". Это состояние обозначается символом, Etc. "Зомби" - процесс, который больше не выполняются, но потребляют ресурсы вашей операционной системы. Буквой Z. Непрерывный процесс не может быть завершен до конца операции прямого доступа к памяти. Это процесс символ D. Процесс поиска

Перед Linux убить процесс, его надо сначала найти. Наиболее часто для этой цели в Linux используют две команды top и ps. Использование команды top

Команда top показывает список текущих процессов. Кроме того, список содержит много полезной информации о каждом запущенном процессе, например: PID - уникальный номер процесса; USER - логин пользователя, который запустил этот процесс; PR - приоритет процесса в данный момент времени; НИ приоритет, назначенных в процесс команды НИЦЦА; S - состояние процесса; %CPU - сколько процессорного времени занимает этот процесс (в процентах); %MEM - количество оперативной памяти, которую занимает этот процесс (в процентах); TIME+ - сколько времени прошло с момента начала процесса; COMMAND - программа, которая запустила процесс.

Информация, представленная команда top отображает башня в уровне используемого процессорного времени (столбец %CPU). Пользователь может изменить порядок сортировки: отсортировать процессы по объему, занимаемой оперативной памяти (столбец %MEM), необходимо нажать сочетание клавиш Shift+M; сортировать по номер процесса (PID колонку) с помощью комбинации Shift+N; сортировать по времени работы (колонка TIME+) - Shift+T. вернуться к исходной сортировки на уровне процессора - нажмите сочетание клавиш Shift+P. Использование команды ps

С помощью команды top, вы можете получить много необходимой информации, но это не самый удобный способ получить необходимую информацию о хороший процесс. Чтобы не искать процесс, вы можете использовать команду ps и отфильтровать список с помощью команды greep. Например, если вы хотите, чтобы найти все процессы, связанные с запущенным браузером Opera, вы можете ввести команду ps axu | grep Mozilla.

Пс команда имеет следующие параметры: - отображать процессы всех пользователей; u - показать пользователя, который является владельцем процесса; x - показывают процессы, которые не связаны с терминалом. Этот параметр является важным при поиске информации на графическом приложении.

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

Для того, чтобы найти PID процесса, существует команда pidof. Формат использования: pidof+название программы. Например, чтобы найти все PID, связанные с программой Opera, вы должны ввести: pidof Opera.

В некоторых случаях, бывает, что программа завершает свое выполнение, но не выпущен сетевой порт. Для получения информации, в этом случае, вы должны ввести команду fuser: fuser-vn tcp 80. Где 80-это номер зависшего порта. После этого, вы можете убить процесс Linux на порт. Завершение процесса с помощью команды kill

После того, как вы узнали PID процесса и имя, можно приступать к операции ненужные приложения. Для этого используются две команды: kill - убить процесс с id в Linux и killall - завершение программы по имени.

Структура команды kill kill-SIGNAL PID. Где СИГНАЛ-это сигнал, который должен быть послан, и PID-это идентификатор процесса.

Параметр СИГНАЛ завершения процесса равна 9 (SIGKILL). Таким образом, для Linux убить процесс по pid нужно ввести в консоли команду: kill -9 9578. Где 9578 уникальный номер процесса.

Команда "завершить процесс" - не единственное, что может быть отправлено с помощью приложения system убить. Получить список всех команд, которые могут быть отправлены в команду, с помощью kill, вы можете, введя команду kill -l.

Это также полезно знать и другие значения, которые может принимать параметр СИГНАЛА. Например, для перезагрузки блокирует программы, вы можете использовать параметр HUP. Сигнал SIGTERM не прерывает работу программы мгновенно и дает время для нормального выключения, это приложение сохраняет данные, завершил выполнение, и освобождает все ресурсы. Как в Linux убить процесс по имени

Если вы знаете название программы, что вам нужно, чтобы завершить, вы можете использовать команду killall. Например, чтобы уничтожить все процессы связанные с приложением Opera вы должны ввести команду: killall -9 Opera.

Конечно, эта команда не всегда заканчиваются процессы, связанные с никогда не программа. Если после выполнения команды выше, вы введите комбинацию ps aux | grep Opera, и вы увидите, что некоторые процессы, лучше всего дополнить их с помощью системного приложения kill.

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

Вот все сведения, необходимые пользователю для управления процессом. Конечно, тема не проста для начинающих, но освоить ее необходимо, чтобы все действия операционной системы осуществляется с помощью процесса. Чтобы научиться управлять ими, нужно немного тренировки. Автор: Виталий Черкасов 26 Октября 2018 Года



Категория: Мобильная техника