Пример использования команды Linux ps

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

Команда ps обычно используется вместе с командой grep и командами more или less .

Эти дополнительные команды помогают отфильтровать и разбить на страницы выходные данные ps , которые часто могут быть довольно длинными.

Как использовать команду ps

Сама по себе команда ps показывает запущенные процессы пользователем, выполняющим его в окне терминала. Чтобы вызвать ps , просто введите следующее:

 пс 

Вывод покажет строки данных, содержащие следующую информацию:

  • PID
  • TTY
  • Время
  • команда

PID – это идентификатор процесса, который идентифицирует запущенный процесс. TTY – это тип терминала.

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

 ps -A 
 ps -e 

Чтобы показать все процессы, кроме лидеров сеансов, выполните следующую команду:

 ps -d 

Так что же такое лидер сессии? Когда один процесс запускает другие процессы, он является лидером сеанса всех других процессов. Итак, представьте, что процесс A запускает процесс B и процесс C . Процесс B запускает процесс D , а процесс C запускает процесс E . Когда вы перечислите все процессы, кроме лидеров сеансов, вы увидите B, C, D и E , но не A .

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

 ps -d -N 

Очевидно, что -N не очень разумно при использовании с переключателями -e или -A , поскольку он вообще ничего не показывает.

Если вы хотите видеть только процессы, связанные с этим терминалом, выполните следующую команду:

 ps T 

Если вы хотите увидеть все запущенные процессы, используя следующую команду:

 ps r 

Выбор конкретных процессов с помощью команды ps

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

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

 ps -p 

Вы можете выбрать несколько процессов, указав несколько идентификаторов процессов следующим образом:

 ps -p "1234 9778" 

Вы также можете указать их, используя список через запятую:

 ps -p 1234,9778 

Скорее всего, вы не будете знать идентификатор процесса, и поиск по команде будет проще. Для этого используйте следующую команду:

 ps -C 

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

 ps -C chrome 

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

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

 ps -G ps --Group 

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

 ps -G "account" ps --Group "account" 

Вы также можете выполнить поиск по идентификатору группы вместо имени группы, используя строчную букву “g”, как показано ниже:

 ps -g ps --group 

Если вы хотите выполнить поиск по списку идентификаторов сеансов, используйте следующую команду:

 ps -s 

Или используйте следующее для поиска по типу терминала.

 ps -t 

Если вы хотите найти все процессы, запущенные конкретным пользователем, попробуйте следующую команду:

 ps U 

Например, чтобы найти все процессы, запущенные gary , выполните следующее:

 ps U "Гэри" 

Обратите внимание, что это показывает человека, чьи учетные данные используются для запуска команды. Например, если вы зарегистрированы как gary и выполнили указанную выше команду, она покажет все команды, которые вы выполняли.

Если вы вошли в систему как Tom и используете sudo для запуска команды, то приведенная выше команда покажет команду Tom’s как выполняемую gary , а не Том .

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

 ps -U "gary" 

Форматирование вывода команды ps

По умолчанию вы получаете те же четыре столбца, когда используете команду ps :

  • PID
  • TTY
  • Время
  • команда

Вы можете получить полный список, выполнив следующую команду:

 ps -ef 

-e , как вы знаете, показывает все процессы, а f или -f показывает полную информацию.

Возвращаются следующие столбцы:

  • Идентификатор пользователя
  • PID
  • PPID
  • С
  • STime
  • TTY
  • Время
  • команда

Идентификатор пользователя – это человек, который выполнил команду. PID – это идентификатор процесса команды команда. PPID – это родительский процесс, который запускает команду.

Столбец C показывает количество дочерних процессов. STime – это время начала процесса. TTY – это терминал, время – это количество времени, которое потребовалось для запуска, а команда – это команда, которая была запущена.

Вы можете получить еще больше столбцов, используя следующую команду:

 ps -eF 

Это возвращает следующие столбцы:

  • UID
  • PID
  • PPID
  • С
  • SZ
  • RSS
  • PSR
  • STime
  • TTY
  • Время
  • команда

Дополнительные столбцы: SZ, RSS и PSR. SZ – размер процесса, RSS – реальный объем памяти, а PSR – процессор, которому назначена команда.

Вы можете указать пользовательский формат, используя следующий переключатель:

 ps -e --format 

Доступны следующие форматы:

  • % ЦП : загрузка ЦП
  • % mem : процент использования памяти
  • args : команда со всеми аргументами
  • c : загрузка процессора
  • cmd : команда
  • comm : только имя команды
  • cp : загрузка процессора
  • cputime : время процессора
  • egid : эффективный идентификатор группы
  • egroup : эффективная группа
  • etime : прошедшее время
  • euid : эффективный идентификатор пользователя
  • euser : эффективный пользователь
  • gid : идентификатор группы
  • группа : название группы
  • pgid : идентификатор группы процессов
  • pgrp : группа процессов
  • ppid : идентификатор родительского процесса
  • start : время начала процесса
  • sz : размер на физических страницах
  • thcount : потоки, принадлежащие процессу
  • время : совокупное время
  • uid : идентификатор пользователя
  • uname : имя пользователя

Есть еще много вариантов, но это наиболее часто используемые.

Чтобы использовать форматы, введите следующее:

 ps -e --format = "uid uname cmd time" 

Вы можете смешивать и сочетать предметы, как вы хотите, чтобы они были.

Сортировка вывода

Чтобы отсортировать вывод, используйте следующую запись:

 ps -ef --sort 

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

  • cmd : имя исполняемого файла
  • pcpu : загрузка процессора
  • флаги : флаги
  • pgrp : идентификатор группы процессов
  • cutime : совокупное время пользователя
  • cstime : совокупное системное время
  • utime : время пользователя
  • pid : идентификатор процесса
  • ppid : идентификатор родительского процесса
  • размер : размер
  • uid : идентификатор пользователя
  • пользователь : имя пользователя

Опять же, есть больше доступных вариантов, но это самые распространенные.

Пример команды сортировка выглядит следующим образом:

 ps -ef - пользователь сортировки, pid 

Использование ps с командами grep, less и more

Как упоминалось в начале, обычно используется ps с командами grep , less и more .

Команды less и more помогут вам просмотреть результаты по одной странице за раз. Чтобы использовать эти команды, просто перенаправьте вывод из grep в них следующим образом:

 ps -ef | больше ps -ef | меньше 

Команда grep помогает отфильтровать результаты команды ps .

Например:

 ps -ef | grep chrome 

Резюме

Команда ps обычно используется для перечисления процессов в Linux. Вы также можете использовать команду top для отображения запущенных процессов другим способом.

Оцените статью
Solutics.ru
Добавить комментарий