Scroll to navigation

PS(1) Команди користувача PS(1)

НАЗВА

ps — надає звіт щодо поточних процесів.

КОРОТКИЙ ОПИС

ps [параметри]

ОПИС

ps показує відомості щодо вибраного набору активних процесів. Якщо вам потрібне регулярне оновлення вибору та показаних даних, скористайтеся замість цієї програми програмою top.

Ця версія ps приймає декілька типів параметрів:

1
Параметри UNIX, які може бути згруповано і яким має перебувати дефіс.
2
Параметри BSD, які може бути згруповано і які не слід використовувати з дефісом.
3
Довгі версії параметрів GNU, перед якими слід вказати два дефіси.

Параметри різних типів можна поєднувати довільним чином, але можуть виникнути конфлікти. Існує декілька параметрів однакового призначення, які є функціонально ідентичним. Причиною є одночасна наявність багатьох стандартів і реалізацій ps, з якими є сумісною ця версія ps.

Зауважте, що ps -aux не є тим самим, що і ps aux. Стандарти POSIX і UNIX вимагають, щоб команда ps -aux виводила список усіх процесів, власником яких є користувач x, а також усіх процесів, які було б вибрано у результаті використання параметра -a. Якщо запису користувача x не існує, цей варіант ps може обробити команду як ps aux і вивести попередження щодо цього. Так зроблено навмисне, щоб допомогти у сумісності із застарілими скриптами та звичками. Така поведінка програми не є сталою, може змінитися — не варто на неї покладатися.

Типово, ps вибирає усі процеси із тим самим ідентифікатором ефективного користувача (euid=EUID), що і у поточного користувача, а також ті процеси, які пов'язано із тим самим терміналом, звідки викликано програму. Програма виводить ідентифікатор процесу (pid=PID), термінал, який пов'язано із процесом (tname=TTY), накопичений час процесора у форматі [ДД-]гг:хх:сс (time=TIME) та назву виконуваного файла (ucmd=CMD). Типово, виведені дані не упорядковуються.

Використання параметрів у стилі BSD додасть стан процесу (stat=STAT) до типового набору для показу і показ аргументів команди (args=COMMAND) замість назви виконуваного файла. Ви можете перевизначити це за допомогою змінної середовища PS_FORMAT. Використання параметрів у стилі BSD також змінить вибір процесів — буде включено процеси з інших терміналів (TTY), власником яких ви є; крім того, це може бути описано як встановлення набору усіх процесів, які фільтровано для виключення процесів, власником яких є інші користувачі або не у терміналі. Ці ефекти не буде взято до уваги для параметрів, які описано нижче як «тотожні», отже, -M вважатиметься тотожним до Z тощо.

Окрім вказаних нижче випадків, параметри вибору процесів є адитивними. Типовий вибір буде відкинуто, а потім вибрані процеси буде додано до набору процесів, які слід показати. Таким чином, процес буде показано, якщо він буде відповідати усім заданим критеріям.

ПРИКЛАДИ

Перегляд усіх процесів системи з використанням стандартного синтаксису:
ps -e
ps -ef
ps -eF
ps -ely
Перегляд усіх процесів системи з використанням синтаксису BSD:
ps ax
ps axu
Виведення ієрархії процесів:
ps -ejH
ps axjf
Отримання відомостей щодо потоків обробки:
ps -eLf
ps axms
Отримання відомостей щодо захисту:
ps -eo euser,ruser,suser,fuser,f,comm,label
ps axZ
ps -eM
Перегляд усіх процесів, які запущено від імені користувача root (справжній і ефективний ідентифікатор) у форматі користувача:
ps -U root -u root u
Перегляд усіх процесів із визначеним користувачем форматом:
ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
ps -Ao pid,tt,user,fname,tmout,f,wchan
Виведення лише ідентифікаторів процесів syslogd:
ps -C syslogd -o pid=
вивести лише назву PID 42:
ps -q 42 -o comm=

ПРОСТИЙ ВИБІР ПРОЦЕСУ

Використати обмеження «лише себе» у стилі BSD, яке буде накладено на набір усіх процесів, якщо використано якісь параметри у стилі BSD (без «-») або якщо особу користувача ps встановлено у стилі BSD. Набір процесів, який вибрано у цей спосіб, додається до набору процесів, які вибрано в інший спосіб. Альтернативним описом є те, що цей параметр наказує ps вивести список усіх процесів з терміналом (tty) або вивести список усіх процесів, якщо використано разом із параметром x.
Вибрати усі процеси. Те саме, що і -e.
Вибрати усі процеси, окрім обох лідерів сеансів (див. getsid(2)) і процеси, які не пов'язано із терміналом.
Вибрати усі процеси, окрім лідерів сеансів.
Вибрати усі процеси, окрім тих, які задовольняють вказані умови (інвертує вибір). Те саме, що і -N.
Вибрати усі процеси. Те саме, що і -A.
Справді всі, навіть лідери сеансу. Цей прапорець є застарілим, і його може бути вилучено у майбутніх випусках. Зазвичай, неявно встановлюється прапорцем a, і корисний лише для роботи із особами sunos4.
-N
Вибрати усі процеси, окрім тих, які задовольняють вказані умови (інвертує вибір). Те саме, що і --deselect.
T
Вибрати усі процеси, які пов'язано із цим терміналом. Те саме, що і параметр t без будь-яких аргументів.
Обмежити вибір лише процесами, які працюють.
Використати обмеження «повинен мати термінал» у стилі BSD, яке буде накладено на набір усіх процесів, якщо використано якісь параметри у стилі BSD (без «-») або якщо особу користувача ps встановлено у стилі BSD. Набір процесів, який вибрано у цей спосіб, додається до набору процесів, які вибрано в інший спосіб. Альтернативним описом є те, що цей параметр наказує ps вивести список усіх процесів, власником яких є ви (той самий EUID, що і для ps) або вивести список усіх процесів, якщо використано разом із параметром a.

ВИБІР ПРОЦЕСУ ЗА СПИСКОМ

Ці параметри приймають один аргумент у формі списку відокремлених пробілами або комами значень. Можна використовувати декілька разів в одній команді. Приклад: ps -p "1 2" -p 3,4

-123
Те саме, що і --pid 123.
123
Те саме, що і --pid 123.
Вибрати за назвою команди. Вибирає процеси, назвою виконуваного файла у яких є назва, задана аргументом список_команд. Зауваження: назва команди не є тим самим, що рядок команди. У попередніх версіях procps і ядро обрізали цю назву команди до 15 символів. Це обмеження знято у нових версіях. Якщо ваш код залежить від обмеження у 15 символів, він може не спрацювати.
Вибрати за ідентифікатором справжньої групи (RGID) або назвою. Вибирає процеси, назва або ідентифікатор справжньої групи яких є у списку список_груп. Ідентифікатор справжньої групи визначає групу користувача, який створив процес, див. getgid(2).
Вибрати за сеансом АБО за назвою ефективної групи. Вибір за сеансом визначається багатьма стандартами, але вибір за ефективною групою є логічною поведінкою, яку використано у декількох інших операційних системах. Ця версія ps вибиратиме за сеансом, якщо список є повністю числовим (як сеанси). Числові ідентифікатори груп працюватимуть, лише якщо також вказано деякі назви груп. Див. параметри -s і --group.
Вибрати за ідентифікатором справжньої групи (RGID) або назвою. Те саме, що і -G.
Вибрати за ідентифікатором ефективної групи (EGID) або назвою. Вибирає процеси, чиї назви або ідентифікатори ефективних груп є у список_груп. Ідентифікатор ефективної групи описує групу, чиї права доступу до файлів використано процесом (див. getegid(2)). Параметр -g часто є альтернативою --group.
Вибрати за ідентифікатором процесу. Те саме, що і -p та --pid.
Вибрати за PID. Вибирає процеси, номери ідентифікаторів процесу яких з'являються у pidlist. Те саме, що і p та --pid.
Вибрати за ідентифікатором процесу. Те саме, що і -p та p.
Вибрати за ідентифікатором батьківського процесу. Вибирає процеси із ідентифікатором батьківського процесу зі списку список_pid. Таким чином, програма вибирає процеси, які є дочірніми щодо процесів зі списку список_pid.
Вибрати за ідентифікатором процесу (швидкий режим). Те саме, що і -q та --quick-pid.
Вибрати за PID (швидкий режим). Вибирає процеси, чиї числові ідентифікатори процесу є у списку список_pid. Якщо вказано цей параметр, ps прочитає потрібні дані лише для pid зі списку список_pid і не застосовуватиме додаткових правил фільтрування. Порядок pid без сортування зберігатиметься. У цьому режимі не передбачено додаткових параметрів вибору, упорядковування та списки типу «ліс». Те саме, що q і --quick-pid.
Вибрати за ідентифікатором процесу (швидкий режим). Те саме, що і -q та q.
-s sesslist
Вибрати за ідентифікатором сеансу. Вибирає процеси із ідентифікатором сеансу, вказаним у sesslist.
Вибрати за ідентифікатором сеансу. Те саме, що і -s.
t список_терміналів
Вибрати за терміналом. Майже те саме, що і -t та --tty, але можна використовувати із порожнім значенням список_терміналів, щоб вказати на термінал, який пов'язано із ps. Використання параметра T вважається пріоритетнішим варіантом за використання t із порожнім значенням список_терміналів.
-t список_терміналів
Вибрати за терміналом. Вибирає процеси, пов'язані із терміналами, які задано списком список_терміналів. Термінали (tty або екрани для текстового виведення) можна вказати у декількох формах: /dev/ttyS1, ttyS1, S1. Можна скористатися простим «-» для вибору процесів, які не пов'язано із будь-яким терміналом.
Вибрати за терміналом. Те саме, що і -t та t.
Вибрати за ідентифікатором ефективного користувача (EUID) або назвою. Вибирає процеси, чиї імена або ідентифікатори ефективних користувачів є у список_користувачів. Ідентифікатор ефективного користувача описує користувача, чиї права доступу до файлів використано процесом (див. geteuid(2)). Параметр -u часто є альтернативою --user.
Вибрати за ідентифікатором справжнього користувача (RUID) або назвою. Вибирає процеси, назва або ідентифікатор справжнього користувача яких є у списку список_користувачів. Ідентифікатор справжнього користувача визначає користувача, який створив процес, див. getuid(2).
Вибрати за ідентифікатором ефективного користувача (EUID) або назвою. Вибирає процеси, чия назва ефективного користувача або ідентифікатор перебуває у списку список_користувачів.

Ідентифікатор ефективного користувача описує користувача, чиї права доступу до файлів використано процесом (див. geteuid(2)). Параметр U часто є альтернативою --user.

Вибрати ідентифікатор або ім'я справжнього користувача (RUID). Тотожний до -U.
Вибрати за ідентифікатором або іменем ефективного користувача (EUID). Те саме, що -u і U.

КЕРУВАННЯ ФОРМАТОМ ВИВЕДЕННЯ

Ці параметри використовують для вибору даних, які буде показано ps. Виведений результат може бути різним для різних користувачів.

Показати різні дані планувальника для параметра -l.
Показати формат контексту захисту (для SELinux).
Виконати повноформатне виведення списку. Цей параметр можна поєднувати із багатьма іншими параметрами у стилі UNIX для додавання додаткових стовпчиків. Його використання також призводить до виведення аргументів команди. Якщо використано разом із -L, буде додано стовпчики NLWP (кількості потоків обробки) та LWP (ідентифікатора потоку обробки). Див. параметр c, ключове слово форматування args та ключове слово форматування comm.
Надповний формат. Див. параметр -f, використання якого неявним чином вмикає -F.
Визначений користувачем формат. Тотожній до -o і o.
Формат керування завданнями BSD.
Формат завдань.
l
Вивести дані у довгому форматі BSD.
-l
Довгий формат. Разом із цим параметром часто корисним є параметр -y.
Додати стовпчик даних щодо захисту. Те саме, що і Z (для SELinux).
Є попередньо завантаженим o (перезавантаженим). Параметр O BSD може працювати як -O (визначений користувачем формат виведення з деякими попередньо визначеними типовими полями) або бути використаним для визначення упорядкування. Для визначення поведінки цього параметра буде використано евристику. Для забезпечення бажаної поведінки (упорядкування або форматування) вкажіть параметр у якийсь інший спосіб (наприклад, з -O або --sort). Якщо використано як параметр форматування, є ідентичним до -O із особливостями BSD.
Подібний до -o, але із попереднім завантаженням деяких типових стовпчиків. Ідентичний до -o pid,формат,state,tname,time,command або -o pid,формат,tname,time,cmd, див. -o нижче.
Вказати визначений користувачем формат. Те саме, що і -o і --format.
Визначений користувачем формат. Значення формат є єдиним аргументом у формі списку відокремлених пробілами або комами значень, за його допомогою можна вказати окремі стовпчики виведення даних. Визначені ключові слова описано у розділі СТАНДАРТНІ СПЕЦИФІКАТОРИ ФОРМАТІВ нижче. Заголовки, якщо потрібно, може бути перейменовано (ps -o pid,ruser=RealUser -o comm=Command). Якщо усі заголовки стовпчиків порожні (ps -o pid= -o comm=), рядок заголовків не буде виведено. Для широких заголовків буде збільшено ширину стовпчика; цим можна скористатися для збільшення ширити стовпчиків, подібних до WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm). Також можна скористатися явним визначенням ширини (ps opid,wchan:42,cmd). Поведінка ps -o pid=X,comm=Y є різною у різних системах; дані може бути виведено в один стовпчик із назвою «X,comm=Y» або у два стовпчики із назвами «X» та «Y». Скористайтеся декількома параметрами -o, якщо не певні щодо результатів. Скористайтеся змінною середовища PS_FORMAT для визначення бажаного типового варіанта; DefSysV і DefBSD є макросами, якими можна скористатися для вибору типових стовпчиків UNIX або BSD.
Додати стовпчик із для показу psr.
s
Формат показу сигналів.
Формат показу, орієнтований на користувача.
Формат показу віртуальної пам'яті.
X
Формат регістрів.
Не показувати прапорці, показувати rss замість addr. Цим параметром можна користуватися лише разом із -l.
Z
Додати стовпчик даних щодо захисту. Те саме, що і -M (для SELinux).

МОДИФІКАТОРИ ВИВЕДЕННЯ

Показати справжню назву команди. Ця назва є похідною від назви виконуваного файла, а не від значення argv. Таким чином, аргументи команди та усі внесені до них зміни показано не буде. Цей параметр, фактично, перетворює ключове слово форматування args на ключове слово форматування comm. Він корисний у поєднанні із параметром форматування -f та різноманітними параметрами форматування у стилі BSD, які, зазвичай, призводять до показу аргументів команди. Див. параметр -f, ключове слово форматування args та ключове слово форматування comm.
Встановити ширину екрана.
Встановити ширину екрана.
Включити деякі дані завершених дочірніх процесів (як суму із батьківським).
Показати середовище після команди.
Вивести ієрархію (ліс) процесів у форматі рисунка ASCII.
Дерево процесів у форматі рисунка ASCII.
Без заголовка (боа один заголовок на екран у випадку BSD). Параметр h може спричиняти проблеми. У стандартній ps для BSD цей параметр використано для виведення заголовка на кожній сторінці виведених даних, але у старому ps для Linux цей параметр повністю вимикає заголовок. У цій версії ps реалізовано версію для Linux — не виводити заголовок, якщо не вибрано варіант для BSD, для якого буде виведено один заголовок на кожній сторінці виведених даних. Незалежно від поточного варіанта, ви можете скористатися довгими версіями параметрів, --headers і --no-headers, щоб увімкнути виведення заголовків на кожній сторінці або вимкнути заголовки взагалі, відповідно.
Показати ієрархію процесів (ліс).
Повторювати рядки заголовка, по одному на виведену сторінку.
Вказати варіант упорядкування. Синтаксис запису такий: [+|-]ключ[,[+|-]ключ[,...]]. Багатолітерний ключ можна вибрати зі списку у розділі СТАНДАРТНІ СПЕЦИФІКАТОРИ ФОРМАТІВ. Символ «+» є необов'язковим, оскільки типовим порядком є порядок за зростанням числових або лексикографічних значень. Те саме, що і --sort.
Приклади:
ps jaxkuid,-ppid,+pid
ps axk comm o comm,args
ps kstart_time -ef
Встановити висоту екрана.
Числове виведення для WCHAN і USER (включно із усіма типами UID і GID).
Не виводити рядок заголовка взагалі. --no-heading є альтернативою для цього параметра.
Варіант упорядкування (перевантажений). Параметр O BSD може працювати як --sort (визначений користувачем формат виведення з деякими попередньо визначеними типовими полями) або бути використаним для визначення упорядкування. Для визначення поведінки цього параметра буде використано евристику. Для забезпечення бажаної поведінки (упорядкування або форматування) вкажіть параметр у якийсь інший спосіб (наприклад, з -O або --sort).
Для упорядковування, застарілим синтаксисом параметра O BSD є такий: O[+|-]k1[,[+|-]k2[,...]]. Він упорядковує список процесів за багаторівневим правилом, яке визначає послідовність однолітерних коротких ключів k1, k2, ..., які описано у розділі ЗАСТАРІЛІ КЛЮЧІ УПОРЯКОВУВАННЯ нижче. У поточній версії «+» є необов'язковим, оскільки просто повторює типовий напрямок упорядковування, але він може допомогти відрізнити упорядкування O від формату O. Символ «-» змінює напрямок упорядковування лише для ключа, перед яким його вказано.
Встановити висоту екрана.
S
Підсумувати дані, зокрема використання процесора, від завершених дочірніх процесів до батьківського процесу. Корисно для аналізу системи, де батьківський процес періодично відгалужує короткотривалі дочірні процеси для виконання певних завдань.
Вказати варіант упорядкування Синтаксис запису такий: [+|-]ключ[,[+|-]ключ[,...]]. Багатолітерний ключ можна вибрати зі списку у розділі СТАНДАРТНІ СПЕЦИФІКАТОРИ ФОРМАТІВ. Символ «+» є необов'язковим, оскільки типовим порядком є порядок за зростанням числових або лексикографічних значень. Те саме, що і k. Приклад: ps jax --sort=uid,-ppid,+pid
Широке виведення. Скористайтеся цим параметром двічі, щоб встановити необмежену ширину.
Широке виведення. Скористайтеся цим параметром двічі, щоб встановити необмежену ширину.
Встановити ширину екрана.

ПОКАЗ ПОТОКІВ ОБРОБКИ

Показати потоки обробки так, наче вони є процесами.
-L
Показати потоки, можливо, зі стовпчиками LWP і NLWP.
Показати потоки обробки після процесів.
Показати потоки обробки після процесів.
-T
Показати потоки обробки, можливо, зі стовпчиком SPID.

ІНШІ ВІДОМОСТІ

Вивести довідкове повідомлення. Аргументом розділ може бути одна з літер simple (просте), list (список), output (виведення), threads (потоки), misc (різне) або all (усе). Аргумент можна скоротити до однієї з підкреслених літер, ось так: s|l|o|t|m|a.
Вивести діагностичні дані.
L
Список усіх специфікаторів формату.
Вивести версію procps-ng.
Вивести версію procps-ng.
Вивести версію procps-ng.

ЗАУВАЖЕННЯ

Ця версія ps працює на основі читання віртуальних файлів у /proc. Ця версія ps не потребує налаштування setuid kmem або інших привілеїв для запуску. Не надавайте цій версії ps ніяких додаткових прав доступу.

Використання процесора у цій версії буде показано у відсотках часу, який витрачено на виконання програми під час повного часу життя процесу. Це не ідеально, і це не узгоджується із стандартами, з якими узгоджується ps у інших аспектах. При цьому, загальне число використання процесора навряд чи точно дорівнюватиме 100%.

Поля SIZE і RSS не враховують деякі частини процесу, зокрема таблиці сторінок, стек ядра, структуру thread_info та структуру task_struct. Це, зазвичай, принаймні 20 КіБ пам'яті, яка завжди є резидентною. SIZE є віртуальним розміром процесу (код+дані+стек).

Процеси, які позначено як <defunct>, є мертвими процесами (так званими «зомбі»), які лишаються, оскільки їхній батьківський процес не завершив їхню роботу належним чином. Ці процеси буде знижено init(8), якщо завершить роботу батьківський процес.

Якщо довжина імені користувача перевищує довжину стовпчика на дисплеї, ім'я користувача буде обрізано. Для налаштовування довжини скористайтеся параметрами форматування -o і -O.

Не рекомендуємо користуватися параметрами команд, зокрема ps -aux, оскільки це призводить до неузгодженості у двох різних стандартах. Відповідно до стандартів POSIX і UNIX, наведена команда просить програму показати усі процеси з терміналом (загалом, команд, які запущено користувачами) і усі процеси, власником яких є користувач із іменем x. Якщо цього користувача не існує, ps припускатиме, що ви наказали виконати ps aux.

ПРАПОРЦІ ПРОЦЕСУ

Суму цих значень буде показано у стовпчику «F», який надається специфікатором виведення flags:

1
відгалужено, але не виконано
4
використано права доступу суперкористувача

КОДИ СТАНУ ПРОЦЕСІВ

Тут наведено різні значення, які показують специфікатори виведення s, stat і state (заголовок «STAT» або «S»), для опису стану процесу:

непридатний до переривання сон (зазвичай, введення-виведення)
Бездіяльний потік обробки ядра
запущено або може бути запущено (у черзі запуску)
придатний до переривання сон (очікування на завершення події)
зупинено сигналом керування завданнями
зупинено засобом діагностики під час трасування
поділ на сторінки (не є чинним з часу ядер 2.6.xx)
мертвий (таке не має бути показано)
неробочий процес («зомбі»), перерваний, але не вилучений його батьківським процесом

Для форматів BSD, якщо використано ключове слово stat, може бути показано додаткові символи:

<
високопріоритетний (нелояльний до інших користувачів)
низькопріоритетний (лояльний до інших користувачів)
має заблоковані у пам'яті сторінки (для ідентифікаторів реального часу та нетипових ідентифікаторів)
є лідером сеансу
є багатопотоковим (використовує CLONE_THREAD, подібно до того, як це роблять pthreads NPTL)
+
перебуває у групі процесів переднього плану

ЗАСТАРІЛІ КЛЮЧІ УПОРЯДКОВУВАННЯ

Ці ключі використовують разом із параметром O BSD (якщо його використовують для упорядковування). Параметр --sort GNU не використовує ці ключі, але описані нижче специфікатори з розділу СТАНДАРТНІ СПЕЦИФІКАТОРИ ФОРМАТІВ. Зауважте, що значення, які використано в упорядковуванні, є внутрішніми значеннями, які використовує ps, а не «оброблені» значення, які використовують у деяких полях форматування виведення (наприклад, у полі термінала упорядковування виконується за номером пристрою, а не за показаною назвою термінала). Передайте каналом виведені ps дані до програми sort(1), якщо вам хочеться упорядкувати дані за обробленими значеннями.

КЛЮЧ ДОВГИЙ ОПИС
c cmd проста назва виконуваного файла
C pcpu використання процесора
f flags прапорці, як у довгому форматі поля F
g pgrp ідентифікатор групи процесів
G tpgid ідентифікатор групи процесів керівного термінала
j cutime накопичувальний час користувача
J cstime накопичувальний час системи
k utime час користувача
m min_flt кількість вторинних помилок сторінок
M maj_flt кількість первинних помилок сторінок
n cmin_flt накопичені вторинні помилки сторінок
N cmaj_flt накопичені основні помилки сторінок
o session ідентифікатор сеансу
p pid ідентифікатор процесу
P ppid ідентифікатор батьківського процесу
r rss розмір оперативного набору
R resident сторінки у резидентній пам'яті
s size розмір пам'яті у кілобайтах
S share кількість сторінок спільного використання
t tty номер пристрою керівного термінала
T start_time момент часу, коли процес було запущено
U uid номер ідентифікатора користувача
u користувач ім’я користувача
v vsize загальний розмір ВМ у КіБ
y priority пріоритетність планування у ядрі

ДЕСКРИПТОРИ ФОРМАТУ AIX

У цій версії ps передбачено підтримку дескрипторів форматів AIX, які працюють дещо подібно до кодів форматування printf(1) і printf(3). Наприклад, звичайне типове виведення можна отримати ось так: ps -eo "%p %y %x %c". Коди NORMAL описано у наступному розділі.

CODE NORMAL HEADER
%C pcpu %CPU
%G group GROUP
%P ppid PPID
%U користувач USER
%a args КОМАНДА
%c comm КОМАНДА
%g rgroup RGROUP
%n nice NI
%p pid PID
%r pgid PGID
%t etime ELAPSED
%u ruser RUSER
%x time TIME
%y tty TTY
%z vsz VSZ

СТАНДАРТНІ СПЕЦИФІКАТОРИ ФОРМАТІВ

Нижче наведено різні ключові слова, якими можна скористатися для керування форматом виведення (наприклад, з параметром -o) або упорядковування вибраних процесів за допомогою параметра --sort у стилі GNU.

Приклад: ps -eo pid,user,args --sort user

У цій версії ps виконано спробу реалізувати розпізнавання більшості ключових слів, які використовують у інших реалізаціях ps.

Пробіли можуть міститися у таких визначених користувачем специфікаторах форматів: args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart, start.

Деякими ключовими словами не можна скористатися для упорядковування.

CODE HEADER ОПИС
%cpu %CPU використання процесом процесора у форматі «##.#». У поточній версії це частка від ділення витраченого на виконання процесу часу на час, протягом якого процес працює (відношення «час процесора/справжній час»), виражене у відсотках. Дуже часто загальна сума таких значень є меншою за 100% (альтернатива — pcpu).
%mem %MEM відношення розміру резидентного набору процесу до фізичної пам'яті комп'ютера, виражене у відсотках (альтернатива — pmem).
ag_id AGID Ідентифікатор автогрупи, який пов'язано із процесом, що працює у поєднанні із планувальником CFS для удосконалення швидкодії інтерактивної стільниці.
ag_nice AGNI Значення пріоритетності автогрупи, яке стосується планування усіх процесів у цій групі.
args КОМАНДА команда із усіма аргументами як рядок. Може бути показано зміни у аргументах. Виведені до цього стовпчика дані можуть містити пробіли. Процес, який позначено записом <defunct> є частково мертвим, таким, що очікує на повне знищення батьківським процесом. Іноді аргументи процесу можуть виявитися недоступними. Коли таке трапляється, ps виведе назву виконуваного файла у квадратних дужках (альтернатива – cmd, command). Див. також ключове слово форматування comm, параметр -f та параметр c. Якщо вказано останнім, цей стовпчик буде розтягнуто до краю дисплея. Якщо ps не вдасться визначити ширину дисплея, наприклад, коли виведені дані буде переспрямовано (каналом) до файла або іншої програми, ширина виведення залишиться невизначеною (вона може дорівнювати 80, бути необмеженою, визначатися змінною TERM тощо). У цьому випадку для точного визначення ширини показу можна скористатися змінною середовища COLUMNS або параметром --cols. Для коригування ширини також можна скористатися параметром w або -w.
blocked BLOCKED маска блокованих сигналів, див. signal(7). Відповідно до ширини поля, буде показано 32- або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig_block, sigmask).
bsdstart START час запуску команди Якщо процес було запущено менше ніж 24 години тому, буде виведено дані у форматі «ГГ:ХХ», інакше, дані буде виведено у форматі « Ммм дд» (де «Ммм» — трилітерне скорочення назви місяця). Див. також lstart, start, start_time і stime.
bsdtime TIME накопичувальний час процесора, користувач + система. Форматом показу, зазвичай, є «ХХХ:СС», але його можна посунути праворуч, якщо процес використав понад 999 хвилин часу процесора.
c C використання процесора. У поточній версії це ціле значення у відсотках використання процесора до часу життя процесу (див. %cpu).
caught CAUGHT маска перехоплених, див. signal(7). Відповідно до ширини поля, буде показано 32- або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig_catch, sigcatch).
cgname CGNAME назва керівних груп дисплея, до яких належить процес.
cgroup CGROUP керівні групи дисплея, до яких належить процес.
cgroupns CGROUPNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
class CLS клас планування процесу. (альтернатива — policy, cls). Можливими значеннями поля є такі: "" 2 - не повідомлено TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR B SCHED_BATCH ISO SCHED_ISO IDL SCHED_IDLE DLN SCHED_DEADLINE ? невідоме значення
cls CLS клас планування процесу. (альтернатива — policy, cls). Можливими значеннями поля є такі: "" 2 - не повідомлено TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR B SCHED_BATCH ISO SCHED_ISO IDL SCHED_IDLE DLN SCHED_DEADLINE ? невідоме значення
cmd CMD див. args. (альтернатива – args, command).
comm КОМАНДА назва команди (лише назва виконуваного файла). Зміни у назві команди показано не буде. Процес, який позначено записом <defunct> є частково мертвим, таким, що очікує на повне знищення батьківським процесом. Виведені до цього стовпчика дані можуть містити пробіли. (альтернативи – ucmd, ucomm). Див. також ключове слово форматування args, параметр -f та параметр c. Якщо вказано останнім, цей стовпчик буде розтягнуто до краю дисплея. Якщо ps не вдасться визначити ширину дисплея, наприклад, коли виведені дані буде переспрямовано (каналом) до файла або іншої програми, ширина виведення залишиться невизначеною (вона може дорівнювати 80, бути необмеженою, визначатися змінною TERM тощо). У цьому випадку для точного визначення ширини показу можна скористатися змінною середовища COLUMNS або параметром --cols. Для коригування ширини також можна скористатися параметром w або -w.
command КОМАНДА Див. args. (альтернатива – args, command).
cp CP використання процесора у проміле (десятих відсотка) (див. %cpu).
cputime TIME накопичувальний час процесора у форматі «[ДД-]гг:хх:сс» (альтернатива — time).
cputimes TIME накопичувальний час процесора у секундах (альтернатива – times).
cuc %CUC Використання процесора процесом, включно із завершеними дочірніми процесами, у розширеному форматі «##.###». (див. також %cpu, c, cp, cuu, pcpu).
cuu %CUU Використання процесора процесом, у розширеному форматі «##.###». (див. також %cpu, c, cp, cuc, pcpu).
drs DRS розмір резидентного набору даних, обсяг фізичної пам'яті, яку використано для даних, відмінних від виконуваного коду.
egid EGID числовий ідентифікатор ефективної групи процесу у форматі десяткового цілого числа (альтернатива – gid).
egroup EGROUP ідентифікатор ефективної групи процесу. Це буде текстовий ідентифікатор групи, якщо його можна отримати, і поле є достатньо широким, або числове представлення, якщо це не так. (альтернатива – group).
eip EIP вказівник на інструкцію. З часу появи ядра 4.9.xx буде занулено, якщо завдання не завершує роботу або система створює дамп ядра для нього.
esp ESP вказівник на стек. З часу появи ядра 4.9.xx буде занулено, якщо завдання не завершує роботу або система створює дамп ядра для нього.
etime ELAPSED Час, що сплинув з часу запуску процесу у формі [[ДД-]гг:]хх:сс.
etimes ELAPSED час, що минув з моменту запуску процесу, у секундах.
euid EUID ідентифікатор ефективного користувача (альтернатива – uid).
euser EUSER ефективне ім'я користувача. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так. Для примусового визначення десяткового представлення можна скористатися параметром n. (альтернатива – uname, user).
exe EXE шлях до виконуваного файла. Корисно, якщо шлях не може бути виведено за допомогою параметрів форматування cmd, comm або args.
f F прапорці, які пов'язано із процесом, Див. розділ ПРАПОРЦІ ПРОЦЕСУ. (альтернатива – flag, flags).
fgid FGID ідентифікатор групи для доступу до файлової системи (альтернатива – fsgid).
fgroup FGROUP ідентифікатор групи для доступу до файлової системи. Це буде текстовий ідентифікатор групи, якщо його можна отримати, і поле є достатньо широким, або числове представлення, якщо це не так. (альтернатива – fsgroup).
flag F див. f (альтернатива – f, flags).
flags F див. f (альтернатива – f, flag).
fname КОМАНДА перші 8 байтів базової назви виконуваного файла процесу. Виведені дані у цьому стовпчику можуть містити пробіли.
fuid FUID ідентифікатор користувача для доступу до файлової системи (альтернатива – fsuid).
fuser FUSER ідентифікатор користувача для доступу до файлової системи. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
gid GID див. egid (альтернатива egid).
group GROUP див. egroup (альтернатива – egroup).
ignored IGNORED маска ігнорованих сигналів, див. signal(7). Відповідно до ширини поля, буде показано 32- або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig_ignore, sigignore).
ipcns IPCNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
label LABEL мітка захисту, здебільшого використовують для даних контексту SELinux. Призначено для Mandatory Access Control («MAC») у високозахищених системах.
lstart STARTED момент часу, коли запущено команду. Див. також bsdstart, start, start_time і stime.
lsession SESSION показує ідентифікатор сеансу входу процесу, якщо було включено підтримку systemd.
luid LUID показує ідентифікатор входу, який пов'язано із процесом.
lwp LWP ідентифікаторів легких процесів (потоків) розподілюваного запису (альтернатива – spid, tid). Див. tid, щоб дізнатися більше.
lxc LXC Назва контейнера LXC, у якому запущено завдання. Якщо процес не запущено у контейнері, буде показано дефіс («-»).
machine MACHINE показує назву комп'ютера для процесів, які пов'язано із віртуальною машиною або контейнером, якщо було включено підтримку systemd.
maj_flt MAJFLT Кількість основних помилок сторінок, які сталися із цим процесом.
min_flt MINFLT Кількість вторинних помилок сторінок, які сталися із цим процесом.
mntns MNTNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
netns NETNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
ni NI значення nice. Діапазон значення — від 19 (найнижча пріоритетність) до -20 (найвища пріоритетність щодо інших), див. nice(1) (альтернатива – nice).
nice NI див. ni. (альтернатива ni).
nlwp NLWP кількість lwps (потоків обробки) у процесі (альтернатива – thcount).
numa NUMA Вузол, з яким пов'язано останній використаний процесор. Якщо тут показано -1, дані щодо NUMA є недоступними.
nwchan WCHAN адреса функції ядра, де спить процес (скористайтеся, wchan, якщо вам потрібна назва функції).
oom OOM Оцінка виходу за межі доступної пам'яті. Значення у діапазоні від 0 до +1000, яке буде використано для вибору завдань, виконання яких слід припинити, якщо буде вичерпано пам'ять.
oomadj OOMADJ Коефіцієнт коригування виходу за межі доступної пам'яті. Значення, яке буде додано до поточного рахунку виходу за межі пам'яті (OOM), яке потім буде використано для визначення того, виконання якого завдання слід припинити, якщо пам'ять буде вичерпано.
ouid OWNER показує ідентифікатор користувача Unix власника сеансу процесу, якщо було включено підтримку systemd.
pcpu %CPU див. %cpu (альтернатива – %cpu).
pending PENDING маска сигналів черги. Див. signal(7). Черга сигналів процесу відрізняється від черги сигналів потоків обробки. Скористайтеся параметрами m і -m для перегляду обох. Відповідно до ширини поля, буде показано 32- або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig).
pgid PGID ідентифікатор групи процесів або, що те саме, ідентифікатор процесу лідера групи процесів (альтернатива – pgrp).
pgrp PGRP див. pgid (альтернатива – pgid).
pid PID число, що відповідає ідентифікатору процесу (альтернатива – tgid).
pidns PIDNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
pmem %MEM див. %mem (альтернатива – %mem).
policy POL клас планування процесу. (альтернатива — class, cls). Можливими значеннями поля є такі: "" 2 - не повідомлено TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR B SCHED_BATCH ISO SCHED_ISO IDL SCHED_IDLE DLN SCHED_DEADLINE ? невідоме значення
ppid PPID ідентифікатор батьківського процесу.
pri PRI пріоритетність процесу. Більше число — вища пріоритетність.
psr PSR процесор, а якому востаннє виконувався процес.
pss PSS Пропорційний розмір спільного користування, нерезервована фізична пам'ять із пам'яттю спільного використання, яку пропорційно враховано для усіх завдань, які виконують її прив'язування.
rbytes RBYTES Кількість байтів, отримання яких з шару сховища даних було насправді спричинено цим процесом.
rchars RCHARS Кількість байтів, читання яких зі сховища даних було спричинено цим завданням.
rgid RGID справжній ідентифікатор групи.
rgroup RGROUP назва справжньої групи. Це буде текстовий ідентифікатор групи, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
rops ROPS Number of read I/O operations�that is, system calls such as read(2) and pread(2).
rss RSS розмір резидентного набору, нерезервована фізична пам'ять, яку використано завданням (у кілобайтах) (альтернатива – rssize, rsz).
rssize RSS див. rss (альтернатива – rss, rsz).
rsz RSZ див. rss (альтернатива – rss, rssize).
rtprio RTPRIO пріоритетність справжнього часу.
ruid RUID справжній ідентифікатор користувача.
ruser RUSER справжній ідентифікатор користувача. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
s S мінімальний показ стану (один символ). Див. розділ КОДИ СТАНІВ ПРОЦЕСУ для різних значень. Див. також stat, якщо вам потрібен показ додаткових відомостей (альтернатива – state).
sched SCH правила планування для процесу. Для правил SCHED_OTHER (SCHED_NORMAL), SCHED_FIFO, SCHED_RR, SCHED_BATCH, SCHED_ISO, SCHED_IDLE і SCHED_DEADLINE, відповідно, буде показано як 0, 1, 2, 3, 4, 5 і 6.
сидіння SEAT показує ідентифікатор, який пов'язано із усіма призначеними до певного робочого місця апаратними пристроями, якщо було включено підтримку systemd.
sess SESS ідентифікатор сеансу або, що те саме, ідентифікатор процесу лідера сеансу. (альтернатива session, sid).
sgi_p P процесор, на якому виконується процес. Буде показано «*», якщо процес не працює або не є придатним до запуску.
sgid SGID ідентифікатор збереженої групи. (альтернатива svgid).
sgroup SGROUP назва збереженої групи. Це буде текстовий ідентифікатор групи, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
sid SID див. sess. (альтернатива sess, session).
sig PENDING див. pending. (альтернатива pending, sig_pend).
sigcatch CAUGHT див. caught. (альтернатива caught, sig_catch).
sigignore IGNORED див. ignored. (альтернатива ignored, sig_ignore).
sigmask BLOCKED див. blocked. (альтернатива blocked, sig_block).
size SIZE приблизний обсяг простору резервної пам'яті, який знадобиться, якщо процес зіпсує усі записувані сторінки з наступним витісненням до резервної пам'яті. Це числове значення обчислено досить грубо!
slice SLICE показує модуль зрізу, до якого належить процес, якщо було включено підтримку systemd.
spid SPID див. lwp. (альтернативи lwp, tid).
stackp STACKP адреса низу (початку) стека для процесу.
start STARTED час запуску команди. Якщо процес було запущено менше ніж 24 години тому, буде виведено дані у форматі «ГГ:ХХ:СС», інакше, дані буде виведено у форматі «  Ммм дд» (де «Ммм» — трилітерне скорочення назви місяця). Див. також lstart, bsdstart, start_time і stime.
start_time START час або дата запуску процесу. Якщо процес не було запущено року, коли було викликано ps, буде показано лише рік або «МммДД», якщо процес не було запущено у той самий день, або «ГГ:ХХ» у інших випадках. Див. також bsdstart, start, lstart і stime.
stat STAT багатосимвольний стан процесу. Див. розділ КОДИ СТАНІВ ПРОЦЕСУ, щоб дізнатися про призначення різних значень. Див. також s і state, якщо ви просто хочете бачити перший символ.
state S див. s. (альтернатива  s).
stime STIME див. start_time. (альтернатива start_time).
suid SUID збережений ідентифікатор користувача (альтернатива – svuid).
supgid SUPGID ідентифікатори груп для допоміжних груп, якщо такі є. Див. getgroups(2).
supgrp SUPGRP назви груп для допоміжних груп, якщо такі є. Див. getgroups(2).
suser SUSER збережене ім'я користувача. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так (альтернатива – svuser).
svgid SVGID див. sgid (альтернатива – sgid).
svuid SVUID див. suid. (альтернатива suid).
sz SZ розмір у фізичних сторінках образу ядра процесу. Це включає текст, дані та стек. У поточній версії прив'язки до пристроїв виключено; це може змінитися. Див. vsz і rss.
tgid TGID число, яке відповідає групі потоків обробки, яким належить завдання (альтернатива – pid). Це ідентифікатор процесу лідера групи потоків обробки.
thcount THCNT див. nlwp (альтернатива – nlwp), кількість потоків обробки ядра, власником яких є процес.
tid TID унікальне число, що відповідає розподілюваному запису (альтернатива – lwp, spid). Це значення може також бути показано як ідентифікатор процесу (pid); ідентифікатор групи процесів (pgrp); ідентифікатор сеансу для лідера сеансу (sid); ідентифікатор групи потоків для лідера групи потоків (tgid) та ідентифікатор групи процесів термінала для лідера групи процесів (tpgid).
time TIME накопичувальний час процесора у форматі «[ДД-]ГГ:ХХ:СС» (альтернатива — cputime).
timens TIMENS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
times TIME накопичувальний час процесора у секундах (альтернатива – cputimes).
tname TTY керівний tty (термінал) (альтернатива – tt, tty).
tpgid TPGID ідентифікатор основної групи процесів на tty (термінала), з яким з'єднано процес, або -1, якщо процес не з'єднано з терміналом.
trs TRS розмір резидентного набору текстових даних, обсяг фізичної пам'яті, яку використано для даних виконуваного коду.
tt TT керівний tty (термінал) (альтернатива – tt, tty).
tty TT керівний tty (термінал) (альтернатива – tt, tty).
ucmd CMD див. comm (альтернатива – comm, ucomm).
ucomm КОМАНДА див. comm. (альтернативи comm, ucmd).
uid UID див. euid. (альтернатива euid).
uname USER див. euser. (альтернативи euser, user).
unit UNIT показує модуль, до якого належить процес, якщо було включено підтримку systemd.
користувач USER див. euser. (альтернативи euser, uname).
userns USERNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
uss USS Розмір унікального набору, нерезервована фізична пам'ять, яку не використано спільно з іншими завданнями.
utsns UTSNS Унікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
uunit UUNIT показує модуль користувача, до якого належить процес, якщо було включено підтримку systemd.
vsize VSZ див. vsz. (альтернатива vsz).
vsz VSZ розмір віртуальної пам'яті процесу у КіБ (1024-байтових одиницях). У поточній версії прив'язки до пристроїв буде виключено; це може бути змінено у майбутніх версіях (альтернатива – vsize).
wbytes WBYTES Кількість байтів, які було надіслано до шару сховища завдяки цьому процесу.
wcbytes WCBYTES Кількість байтів, запис яких скасовано.
wchan WCHAN назва функції ядра, у який спить процес.
wchars WCHARS Кількість байтів, запис на диск яких було спричинено або буде спричинено цим завданням.
wops WOPS Number of write I/O operations�that is, system calls such as write(2) and pwrite(2).

ЗМІННІ СЕРЕДОВИЩА

На роботу ps можуть впливати такі змінні середовища:

Перевизначити типову ширину дисплея.
Перевизначити типову висоту дисплея.
Встановлюють одне зі значень: posix, old, linux, bsd, sun, digital... (див. розділ УОСОБЛЕННЯ нижче).
Встановлюють одне зі значень: posix, old, linux, bsd, sun, digital... (див. розділ УОСОБЛЕННЯ нижче).
Примусово використатися застарілу інтерпретацію рядка команди.
Формат дати.
Встановіть будь-яке значення, щоб приховати потоки обробки ядра, які зазвичай буде показано при використанні параметра -e. Еквівалент вибору --ppid 2 -p 2 --deselect. Також працює у режимі BSD.
У поточній версії підтримки не передбачено.
Перевизначення типового формату виведення. Ви можете встановити для цієї змінної рядок форматування типу, який використовують для параметра -o. Зокрема, корисними будуть значення DefSysV і DefBSD.
Не шукати виправдань ігнорування помилкових «можливостей».
Якщо встановлено «on», працює як POSIXLY_CORRECT.
Не шукати виправдань ігнорування помилкових «можливостей».
_XPG
Скасувати нестандартну поведінку CMD_ENV=irix.

Загалом, не варто встановлювати значення для цих змінних. Єдиним виключенням є CMD_ENV або PS_PERSONALITY, для яких можна встановити значення Linux для звичайних систем. Без встановлення цього значення ps виконуватиме непотрібні і неякісні частини стандарту Unix98.

УОСОБЛЕННЯ

390 подібний до ps для OS/390 OpenEdition
aix подібно до ps в AIX
bsd подібний до ps для FreeBSD (повністю нестандартний)
compaq подібний до ps для Digital Unix
debian подібний до ps для старого Debian
digital подібний до ps для Tru64 (раніше Digital Unix, раніше OSF/1)
gnu подібний до ps для старого Debian
к.с. подібно до ps в HP-UX
hpux подібно до ps в HP-UX
irix подібно до ps в Irix
linux ***** рекомендовано *****
old подібний до початкового ps для Linux (повністю нестандартний)
os390 подібний до ps в OS/390 Open Edition
posix standard
s390 подібний до ps в OS/390 Open Edition
sco подібний до ps для SCO
sgi подібно до ps в Irix
solaris2 подібний до ps для Solaris 2+ (SunOS 5)
sunos4 подібний до ps для SunOS 4 (Solaris 1) (повністю нестандартний)
svr4 standard
sysv standard
tru64 подібний до ps для Tru64 (раніше Digital Unix, раніше OSF/1)
unix standard
unix95 standard
unix98 standard

ТАКОЖ ПЕРЕГЛЯНЬТЕ

pgrep(1), pstree(1), top(1), proc(5).

СТАНДАРТИ

ps є сумісним із такими стандартами:

1
Версією 2 Single Unix Specification
2
The Open Group Technical Standard Base Specifications, випуск 6
3
IEEE Std 1003.1, 2004 Edition
4
X/Open System Interfaces Extension [UP XSI]
5
ISO/IEC 9945:2003

АВТОР

Першу версію ps було написано Branko Lankester. Michael K. Johnson значно переписав програму для використання файлової системи proc, змінивши декілька речей у процесі. Michael Shields додав можливість списку pid. Charles Blake додав багаторівневе упорядковування, бібліотеку у стилі dirent, базу даних із прив'язкою назв пристроїв до чисел, приблизний двійковий пошук безпосередньо у System.map, а також виконав багато упорядкування коду та документації. David Mossberger-Tang написав загальну підтримку BFD для psupdate. Albert Cahalan переписав ps з метою повної підтримки стандартів Unix98 та BSD, додавши деякий обхідний код для застарілого і стороннього синтаксису.

Про вади, будь ласка, повідомляйте на адресу procps@freelists.org. Підписка не є обов'язковою.

11 травня 2022 року procps-ng