Любая операционная система в определенный момент начинает перегружаться, а причина тому – чрезмерная нагрузка процессами. Некоторые из них, неиспользуемые или работающие в фоне, можно отключить. Только как это сделать в ОС Linux? Не скажу, что путь к просмотру списка процессов в ней труден и тернист, но определенно устроен иначе. Сегодня я расскажу о процессах в Linux, их определенных состояниях, а также способах открытия и отключения.
Процесс в Linux – что это?
Процессы в Linux – это пакет программ, загруженный в память. Одна программа – один процесс, и каждому выдается свой идентификатор, Process ID, или же PID. Именно по нему и производится определение процесса. Запущенные и работающие процессы можно разделить на обычные и фоновые.
Какие могут быть состояния процессов
Каждый процесс Linux может находиться в одном из четырех состояний.
- Запущен – процесс готовится к работе в ожидании подхода процессорного времени или уже находится в активном состоянии.
- Ожидает – программа находится в состоянии ожидания либо определенного события, либо освобождения системных ресурсов. Примерно таким же образом они делятся в ядре.
- Остановлен – такие процессы ранее были остановлены одной командой, и пока находятся в нерабочем состоянии.
- Мертвый – программа остановлена и больше не выполняется, но при этом в списке остались несколько мелких процессов. Серьезно, для нее даже в «Системном мониторе» отведен специальный пункт в контекстном меню, и называется он «Убить».
Как открыть список процессов
Практически во всех популярных дистрибутивах ОС Linux открыть список программ можно двумя способами – через специальное приложение или командой в «Терминале». Я буду приводить примеры в версии Ubuntu 19.04.
Системный монитор
Системный монитор – это встроенное графическое приложение, в котором удобно просматривать процессы. При необходимости можно применить фильтры, в зависимости от нагрузки на определенный системный ресурс. Способов запуска два – можно через меню приложений или же посредством команды в терминале. Сначала я рассмотрю первый способ, но там практически ничего особого делать не нужно. Просто открываю меню и нажимаю на иконку с изображением экрана и надписью «Системный монитор».
А теперь о том, как правильно задействовать командную строку «Терминал». Открываю утилиту нажатием на комбинацию клавиш Ctrl + Alt + T или же выбираю соответствующий пункт в том же самом меню, в папке «Утилиты».
Далее есть простая команда: gnome-system-monitor. Приставку sudo, дающую права администратора, при этом вписывать не надо. После этого нажимаю на клавишу Enter, и утилита практически сразу откроется поверх «Терминала».
Терминал
Данный метод считается не самым простым, и чтобы разобраться в некоторых деталях, понадобится немного углубиться в работу консоли. Но в то же время с помощью этого приложения можно довольно подробно ознакомиться с каждым параметром.
О том, как открыть утилиту, я уже рассказывала выше. Поэтому приступаю сразу к разбору полетов.
Есть три команды для просмотра списка запущенных процессов – ps, top и htop. Ранее я рассказывала про 100 востребованных команд – в подразделе «Управление процессами» можно найти описание к ним. Между последними двумя причем есть разница – третью нужно установить посредством ввода команды sudo apt install htop (или sudo snap install htop). Да и интерфейс у нее более красочный.
Далее я буду рассматривать только команду ps, потому что у нее есть куча интересных и полезных опций. В ней есть два типа запросов – с дефисом, они же Unix, и без него, BSD. Перечислю только те, что относятся к первому типу, так как используются они чаще.
- -A, (a) – выбор всех процессов.
- -a – выбор всех программ (кроме фоновых).
- -d, (g) – выбор процессов (кроме сессий).
- -N – выбор всех процессов (кроме указанных).
- -С – выбор программы по имени команды.
- -с – отображение информации планировщика.
- -f – вывод максимально доступных данных, например, количества потоков.
- -G – выбор процессов по ID группы.
- -H – отображение дерева процессов Linux.
- -j, (j) – вывод программ в стиле Jobs с минимумом информации.
- -L, (H) – отображение потока процессов в колонках LWP и NLWP.
- -M, (Z) – добавление данных о безопасности.
- -m, (m) – вывод потоков после процессов.
- -o, (o) – определение формата вывода.
- -p, (p) – выбор процесса PID.
- —ppid – выбор по PID главного процесса.
- -s – выбор программы по ID сессии.
- —sort, (k) – сортировка по указанной колонке.
- -t, (t) – выбор процесса по tty.
- -u, (U) – выделить программы конкретного пользователя.
- -V, (V) – вывод данных о версии.
Далее – при вводе опции -f отображаются следующие типы данных.
- UID – пользователь, от имени которого процесс запущен.
- PID – идентификатор процесса.
- PPID – идентификатор родительского процесса.
- C – время CPU в процентах, используемое программой.
- STIME – время запуска процесса.
- TTY – терминал, из которого запущен процесс.
- TIME – время, затраченное на выполнение программы.
- CMD – запуск процессора.
- LWP – потоки процессора.
- PRI – приоритет процесса.
Заключение
Я рассмотрела пару способов просмотра списка запущенных процессов в Linux, причем оба достаточно просты и не требуют особых навыков. С помощью системного монитора можно не только просмотреть программы по мере загруженности, но и отключить те, что работают в фоновом режиме и потребляют слишком много ресурсов. В «Терминале» же есть удобные опции для сортировки по определенным критериям.
Автор материала: Айше Джемилева
Подписывайтесь на наш канал и ставьте лайки! А еще можете посетить наш официальный сайт.