- Работа с процессами в Linux
- Список процессов
- Как Узнать Список Процессов Linux с Помощью Командной Строки
- Введение
- Что вам понадобится
- Шаг 1 — Просмотр списка процессов Linux
- Шаг 2 — Закрытие и расстановка приоритета процессов
- Заключение
- Команда Ps в Linux (список процессов)
- Как использовать команду ps
- Пользовательский формат
- Использование ps с другими командами
- Выводы
Работа с процессами в Linux
Список процессов
Вывести на экран список текущих процессов, запущенных пользователем, можно командой:
Чтобы посмотреть список всех процессов с дополнительной информацией, вводим:
Мы увидим, примерно, следующее:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 661 0.0 0.0 4072 8 tty1 Ss+ Jul03 0:00 /sbin/mingetty
root 662 0.0 0.0 4072 8 tty2 Ss+ Jul03 0:00 /sbin/mingetty
root 16355 0.0 0.0 171636 3308 pts/0 S 15:46 0:00 sudo su
root 16366 0.0 0.0 140896 1556 pts/0 S 15:46 0:00 su
root 16368 0.0 0.0 108316 1944 pts/0 S 15:46 0:00 bash
root 18830 0.0 0.0 110244 1172 pts/0 R+ 16:20 0:00 ps u
- USER — учетная запись пользователя, от которой запущен процесс.
- PID — идентификатор процесса.
- %CPU — потребление процессорного времени в процентном эквиваленте.
- %MEM — использование памяти в процентах.
- VSZ — Virtual Set Size. Виртуальный размер процесса (в килобайтах).
- RSS — Resident Set Size. Размер резидентного набора (количество 1K-страниц в памяти).
- TTY — терминал, из под которого был запущен процесс.
- STAT — текущее состояние процесса. Могут принимать значения:
- R — выполнимый процесс;
- S — спящий;
- D — в состоянии подкачки на диске;
- T — остановлен;
- Z — зомби.
- W — не имеет резидентных страниц;
- Дмитрий Моск — IT-специалист.
Настройка серверов, компьютерная помощь.
Как управлять процессами в операционной системе Linux
Источник
Как Узнать Список Процессов Linux с Помощью Командной Строки
Введение
Процесс — это системный термин, который используется для описания приложения или программы. К примеру, когда мы открываем веб-браузер Google Chrome, мы можем сказать, что это процесс ответственный за запуск/выполнение Chrome, который был запущен и выполняется до тех пор пока мы не закроем браузер. Даже когда мы выполняем любую bash команду, появляется новый процесс. Если мы откроем одно и тоже приложение дважды, появится два процесса. В этом руководстве вы узнаете, как узнать список процессов Linux с помощью командной строки. Это необходимо, если вы хотите узнать какие процессы запущены в данный момент, каким пользователем запущен процесс или просто узнать какой из процессов использует больше всего ресурсов сервера.
Что вам понадобится
Перед тем, как вы начнете это руководство, вам понадобится следующее:
- Доступ к командной строке
Шаг 1 — Просмотр списка процессов Linux
Список терминов которые вам необходимо знать перед прочтением руководства:
- PID — идентификатор процесса. Каждый процесс имеет свой 5 значный код. Эти числа могут закончиться и начать повторяться, но в любое другое время у каждого процесса свой уникальный PID.
- PPID — родительский идентификатор процесса. Идентификатор процесса который запустил этот конкретный процесс.
Две самые часто используемые команды для показа списка процессов Linux это top и ps. Разница между ними заключается в том, что top чаще используется в интерактивном режиме, а ps больше используется в скриптах, в сочетании с другими bash командами.
top — возможно одна из самых базовых и часто используемых команд для отображения процесса, который потребляет наибольшее количество ресурсов сервера. После выполнения данной команды, вы должны увидеть похожее окно:
top само по себе является приложением, после выполнения команды появится новая таблица с постоянно обновляющимся списком процессов Linux. С данной таблицей можно взаимодействовать посредством клавиатуры. Вот несколько примеров:
- h или ? — отобразить окно помощи со всеми командами и другой полезной информацией.
- space — нажатие пробела на вашей клавиатуре вручную обновит таблицу процессов.
- f — добавить поле для отображения в новом окне или удалить определенные поля в таблице.
- q — выйти из приложения или дополнительных окон принадлежащих к нему. К примеру, после использования функции f.
- l — включить отображение информации о средней загрузке и времени работы.
- m — включить отображение информации о памяти.
- P (Shift + p) — отсортировать процессы по количеству используемой памяти.
- s — изменить задержку между обновлениями списка (вам будет предложено ввести значение в секундах).
Вы также можете использовать определенные опции с командой top:
- -d delay — укажите задержку между обновлениями вместо delay.
- -n number — обновить страницу определенное число раз и выйти из приложения. Вместо number введите значение.
- -p pid — отображать и контролировать процессы только с определенным (pid).
- -q — обновлять без какой-либо задержки.
Для получения информации о других полезных командах для клавиатуры, посетите данный сайт.
Также, вы можете использовать команду man top для просмотра полезной информации об этих командах.
Другие полезные применения команды top:
- Для отображения процессов определенного пользователя, вы можете использовать это: top -u user
- Для закрытия процесса, нажмите в окне приложения top клавишу k на клавиатуре. Далее, вам будет предложено вписать идентификатор процесса (pid), который вы хотите закрыть.
- Вы можете сохранить текущие настройки команды top используя сочетание клавиш Shift + W. Эти настройки будут сохранены в директории /root/.toprc
ps — Еще одна полезная команда для отображения списка процессов Linux. Вот несколько опций часто используемых с этой командой:
- -e — отображение всех процессов.
- -f — полное форматирование списка.
- -r — отображение запущенных процессов.
- -u — опция для показа процессов определенного пользователя или пользователей.
- —pid — опция для фильтрации процессов по PID.
- —ppid — опция для фильтрации процессов по родительскому PID.
- -C — фильтровать процессы по их имени или команде.
- -o — отображение информации, связанной с пробелом или списком ключевых слов, разделенных запятыми.
Вот несколько полезных примеров того, как вы можете использовать команду ps:
- ps -ef — отобразит список процессов, которые запущены прямо сейчас (еще одна похожая команда ps aux)
- ps -f -u user1,user2 — отобразит все процессы основанные на предоставленном UID (ID пользователя или имени пользователя).
- ps -f —pid id — отобразит процессы основанные на pid. Введите идентификатор процесса вместо id. Может быть использована вместе с PPID.
- ps -C command/name — фильтрация процессов по их имени или команде.
- ps aux —sort=-pcpu,+pmem — отобразит процессы потребляющие большое количество ресурсов ЦПУ.
- ps -e -o pid,uname,pcpu,pmem,comm — используется для фильтрации определенных столбцов с последующим их отображением.
- ps -e -o pid,comm,etime — эта команда отобразит время прошедшее с запуска процесса.
Мы рекомендуем посетить эту страницу для получения более подробной информации об использовании команды ps.
Шаг 2 — Закрытие и расстановка приоритета процессов
В предыдущем шаге мы уже рассказывали о том, как можно закрыть процесс с помощью команды top. Этот же результат может быть достигнут при помощи команды kill. К примеру:
kill pid — впишите вместо PID идентификатор процесса, который вы хотите закрыть. Если процесс довольно упрямый и не хочет быть закрыт, вы можете использовать команду: kill -9 pid.
Еще одной командой для управления процессами является NICE. Обычно она используется для расстановки приоритетов для процессов, когда на вашей системе их запущено действительно много. В этом случае ваша система узнает какие из процессов являются важными и установит для них более высокий приоритет. Проще говоря, она помогает вам расставить приоритеты процессов от более важных к менее важным. Система будет запускать процесс, который имеет меньший приоритет только в том случае, если для этого имеется достаточно ресурсов ЦПУ. Этой команде можно задать значение от -20 до 19, чем меньше значение, тем выше приоритет процесса. Стандартный приоритет для всех приложений 0. Основным синтаксисом будет:
- nice -n ‘значение’ process name — Пример: nice -n 10 name. Это начнет новый процесс с выбранным приоритетом (10).
- Если вы хотите задать значение приоритета для уже запущенного приложения используйте: renice ‘значение’ -p ‘PID’ — Пример: renice ’10’ -p ‘54125’.
Заключение
В этом руководстве вы научились, как узнать список процессов Linux. Также вы познакомились с командами позволяющими управлять данными процессами. С данными командами существует множество комбинаций, поэтому не бойтесь экспериментировать.
Источник
Команда Ps в Linux (список процессов)
В Linux запущенный экземпляр программы называется процессом. Иногда при работе на машине Linux вам может потребоваться выяснить, какие процессы выполняются в данный момент.
Существует ряд команд, которые вы можете использовать для поиска информации о запущенных процессах, из которых наиболее часто используются ps , pstree и top .
В этой статье объясняется, как использовать команду ps для вывода списка запущенных в данный момент процессов и отображения информации об этих процессах.
Как использовать команду ps
Общий синтаксис команды ps следующий:
По историческим причинам и из соображений совместимости команда ps принимает несколько различных типов параметров:
- Параметры стиля UNIX, которым предшествует одиночный дефис.
- Параметры стиля BSD, используемые без тире.
- Параметры GNU с двумя дефисами перед ними.
Можно смешивать разные типы опций, но в некоторых конкретных случаях могут возникать конфликты, поэтому лучше придерживаться одного типа опций.
Опции BSD и UNIX можно сгруппировать.
В простейшей форме, при использовании без какой-либо опции, ps напечатает четыре столбца информации как минимум для двух процессов, запущенных в текущей оболочке, самой оболочки и процессов, запущенных в оболочке при вызове команды.
Вывод включает информацию о оболочке ( bash ) и процессе, запущенном в этой оболочке ( ps , команда, которую вы ввели):
Четыре столбца помечены как PID , TTY , TIME и CMD .
- PID — идентификатор процесса. Обычно при запуске команды ps наиболее важной информацией, которую ищет пользователь, является PID процесса. Знание PID позволяет устранить неисправный процесс .
- TTY — имя управляющего терминала для процесса.
- TIME — совокупное время ЦП процесса в минутах и секундах.
- CMD — имя команды, которая использовалась для запуска процесса.
Приведенный выше вывод не очень полезен, поскольку не содержит много информации. Настоящая мощь команды ps проявляется при запуске с дополнительными параметрами.
Команда ps принимает огромное количество параметров, которые можно использовать для отображения определенной группы процессов и различной информации о процессе, но при повседневном использовании требуется лишь несколько.
ps чаще всего используется со следующей комбинацией параметров:
Форма BSD :
- Параметр a указывает ps отображать процессы всех пользователей. Не отображаются только процессы, не связанные с терминалом, и процессы руководителей групп.
- u обозначает ориентированный на пользователя формат, который предоставляет подробную информацию о процессах.
- Параметр x указывает ps перечислить процессы без управляющего терминала. В основном это процессы, которые запускаются во время загрузки и работают в фоновом режиме .
Команда отображает информацию в одиннадцати столбцах, обозначенных USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME и CMD .
Мы уже объяснили метки PID , TTY , TIME и CMD . Вот объяснение других этикеток:
- USER — пользователь, запускающий процесс.
- %CPU — загрузка процессора процессом.
- %MEM — процентное отношение размера резидентного набора процесса к физической памяти на машине.
- VSZ — размер виртуальной памяти процесса в КиБ.
- RSS — размер физической памяти, которую использует процесс.
- STAT — код состояния процесса, например Z (зомби), S (спящий) и R (запущенный).
- START — время начала команды.
Параметр f указывает ps отображать древовидное представление родительских и дочерних процессов:
Команда ps также позволяет сортировать вывод. Например, чтобы отсортировать вывод на основе использования памяти , вы должны использовать:
Форма UNIX :
- Параметр -e указывает ps отображать все процессы.
- -f обозначает полноформатный список, который предоставляет подробную информацию о процессах.
Команда отображает информацию в восьми столбцах, обозначенных UID , PID , PPID , C , STIME , TIME и CMD .
Метки, которые еще не объяснены, имеют следующее значение:
- UID — то же самое, что и USER , пользователь, запускающий процесс.
- PPID — идентификатор родительского процесса.
- C — То же, что и %CPU , загрузка процессора процессом.
- STIME — то же самое, что и START , время начала команды.
Чтобы просмотреть только процессы, запущенные от имени конкретного пользователя, введите следующую команду, где linuxize — это имя пользователя:
Пользовательский формат
Параметр o позволяет указать, какие столбцы будут отображаться при запуске команды ps .
Например, чтобы распечатать информацию только о PID и COMMAND , вы должны выполнить одну из следующих команд:
Использование ps с другими командами
ps можно использовать в сочетании с другими командами через конвейер.
Если вы хотите отобразить вывод команды ps , по одной странице за раз передайте его команде less :
Вывод команды ps можно отфильтровать с помощью grep . Например, чтобы показать только процесс, принадлежащий пользователю root, вы должны запустить:
Выводы
Команда ps — одна из наиболее часто используемых команд при устранении неполадок в системах Linux. У него много опций, но обычно большинство пользователей используют ps aux или ps -ef для сбора информации о запущенных процессах.
Чтобы получить дополнительную информацию о ps , введите в терминале man ps .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Источник