В Linux имеется большое количество программ для терминала, которые могут отображать информацию про запущенные процессы, останавливать их и изменять приоритет выполнения. В данной статье будут перечислены как проверенные временем, так и новые, более удобные программы Linux для управленимя процессами из консоли.
Многие программы, перечисленные здесь выполняют только одну функцию и могут быть объединены - такова философия написания программ для Unix. Другие программы, такие как htop, предоставляют более дружественный интерфейс, поверх остальных программ.
- top - мониторинг загрузки системы в режиме реального времени
- htop - усовершенствованная версия утилиты top
- ps - отображение списка процессов
- pstree - отображение дерева процессов
- kill - завершение работы процесса по его ID
- pgrep - получение ID процесса по его имени
- pkill & killall - завершение работы процесса по его имени
- renice - изменение приоритета выполнения уже запущенного процесса
- xkill - завершение работы программы через графический интерфейс
top - мониторинг загрузки системы в режиме реального времени
Команда top - это стандартная программа, используемая для мониторинга загрузки системы в режиме реального времени. В комманде top можно отслеживать программы, в зависимости от различных потребляемых ресурсов, таких как загрузка процессора, использование памяти, имя пользователя и так далее.
Для выхода из программы нажмите комбинацию клавиш Ctrl-C.
htop - усовершенствованная версия утилиты top
Команда htop - это усовершенствованная версия комманды top. По умолчанию она не установлена в системе, но это легко исправить, выполнив комманду "sudo apt-get install htop"
htop отображает ту-же информацию, что и команда top, только в отличие от последней, у комманды htop более наглядный интерфейс, использующий меню, как у файлового менеджера для консоли Midnight Commander, доступ к которому осуществляется функциональными клавишами (F1 - F10). htop также умеет сортировать выводимую информацию по различным критериям, останавливать процессы, изменять приоритеты и многое другое, что может стандартная команда top.
ps - отображение списка процессов
Кооманда ps отображает список запущенных процессов. По умолчанию, команда top выводит список процессов текущего пользователя, из-под которого запускается комманда. Для вывода списка процессов для всех пользователей нужно воспользоваться коммандой "ps -A". Количество параметров коммандной строки, которые принимает команда top - огромно, поэтому за более детальной информацией смотрите мануал: "man top"
Так как список процессов обычно не влазит в один экран, удобно воспользоваться перенаправлением вывода комманды на вход комманды less, что позволит прокуручивать результирующую информацию по мере необходимости в прямом и обратном направлении: "ps -A | less". По завершении работы со списком процессов нажмите клавишу "q".
Вывод комманды "ps" вы конечно-же можете перенаправить на вход комманды "grep", для того, чтоб найти конкретный процесс, вместо листания полного списка. Следующая команда найдет все процессы, содержищие в имени "wine": "ps -A | grep wine":
ps -A | grep firefox
pstree - отображение дерева процессов
Команда pstree - это еще один способ отображения процессов. Дело в том, что каждый процесс имеет своего родителя, запустившего его. Поэтому, если вам нужно увидеть не только список процессов, а и видеть отношения между ними - команда pstree подойдет как нельзя лучше.
kill - завершение работы процесса по его ID
Коммнада kill предназначена для завершения работы процесса, по его ID. ID процесса вы можете получить выполнив комманды ps -A, top, или pgrep. На самом деле, команда kill отправляет сигнал процессу, ID которого указан в качестве параметра. По умолчанию, процессу отправляется сигнал TERM (15), в качестве параметра могут быть отправлены сигналы, которые не завершают работу процесса, например HUP (1). Иногда процесс так крепко зависает, что не удается убить коммандой "kill имя_процесса", в таком случае можно отправить процессу сигнал KILL (9), который точно убьет процесс, но это средство следует использовать в крайнем случае.
pgrep - получение ID процесса по его имени
Команда pgrep принимает в качестве параметра коммндной строки имя процесса и возвращает его ID. Например команда "pgrep gedit" найдет ID для процесса gedit:
pkill & killall - завершение работы процесса по его имени
Для того, чтоб убить процесс по его имени, а не по ID, следует использовать комманды pkill and killall. Воспользуйтесь любой из комманд, для того, чтоб убить процесс gedit:
killall gedit
pkill gedit
Преимущество данных комманд, перед простой коммандой kill, это то, что они дают возможность одной коммандой убить сразу несколько процессов.
renice - изменение приоритета выполнения уже запущенного процесса
Команда renice изменяет значение параметра nice любого запущенного процесса. Значение nice определяет приоритет, с которым работает процесс. Значение -19 соответствует самому высокому приоритету, а значение 19 - самому низкому. Значение 0 - используется по умолчанию.
Команде renice в качестве параметра нужен ID процесса. Следующая команда установит для процесса gedit минимальный приоритет:
Для того, чтоб узнать идентификатр процесса, можно воспользваться утилитой pgrep.
Если вы хотите повысить приоритет процессу - вам понадобятся полномочия суперпользователя.
xkill - завершение работы программы через графический интерфейс
Команда xkill - это удобный способ завершения программ, работающих в графическом интерфейсе. После запуска комманды xkill курсор мыши станет в виде крестика. Наведите его на окно программы, которую нужно остановить и нажмите левую кнопку мыши. Если вы передумали убивать какую-либо программу, тогда нажмите правую кнопку мыши.
Для запуска данной программы, вам не нужно находиться в терминале - просто нажмите комбинацию клавиш Alt-F2, введите xkill и нажмите Ентер.
На этом пока все. Если у вас есть замечания, или есть чем дополнить данную статью - пишите комментарии.
Добавить комментарий