Home

ps(1) - uk

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), якщо вам хочеться упорядкувати дані за обробленими значеннями.

КЛЮЧДОВГИЙОПИС
ccmdпроста назва виконуваного файла
Cpcpuвикористання процесора
fflagsпрапорці, як у довгому форматі поля F
gpgrpідентифікатор групи процесів
Gtpgidідентифікатор групи процесів керівного термінала
jcutimeнакопичувальний час користувача
Jcstimeнакопичувальний час системи
kutimeчас користувача
mmin_fltкількість вторинних помилок сторінок
Mmaj_fltкількість первинних помилок сторінок
ncmin_fltнакопичені вторинні помилки сторінок
Ncmaj_fltнакопичені основні помилки сторінок
osessionідентифікатор сеансу
ppidідентифікатор процесу
Pppidідентифікатор батьківського процесу
rrssрозмір оперативного набору
Rresidentсторінки у резидентній пам'яті
ssizeрозмір пам'яті у кілобайтах
Sshareкількість сторінок спільного використання
tttyномер пристрою керівного термінала
Tstart_timeмомент часу, коли процес було запущено
Uuidномер ідентифікатора користувача
uкористувачім’я користувача
vvsizeзагальний розмір ВМ у КіБ
ypriorityпріоритетність планування у ядрі

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

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

CODENORMALHEADER
%Cpcpu%CPU
%GgroupGROUP
%PppidPPID
%UкористувачUSER
%aargsКОМАНДА
%ccommКОМАНДА
%grgroupRGROUP
%nniceNI
%ppidPID
%rpgidPGID
%tetimeELAPSED
%uruserRUSER
%xtimeTIME
%yttyTTY
%zvszVSZ

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

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

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

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

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

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

CODEHEADERОПИС
%cpu%CPUвикористання процесом процесора у форматі «##.#». У поточній версії це частка від ділення витраченого на виконання процесу часу на час, протягом якого процес працює (відношення «час процесора/справжній час»), виражене у відсотках. Дуже часто загальна сума таких значень є меншою за 100% (альтернатива — pcpu).
%mem%MEMвідношення розміру резидентного набору процесу до фізичної пам'яті комп'ютера, виражене у відсотках (альтернатива — pmem).
ag_idAGIDІдентифікатор автогрупи, який пов'язано із процесом, що працює у поєднанні із планувальником CFS для удосконалення швидкодії інтерактивної стільниці.
ag_niceAGNIЗначення пріоритетності автогрупи, яке стосується планування усіх процесів у цій групі.
argsКОМАНДАкоманда із усіма аргументами як рядок. Може бути показано зміни у аргументах. Виведені до цього стовпчика дані можуть містити пробіли. Процес, який позначено записом <defunct> є частково мертвим, таким, що очікує на повне знищення батьківським процесом. Іноді аргументи процесу можуть виявитися недоступними. Коли таке трапляється, ps виведе назву виконуваного файла у квадратних дужках (альтернатива – cmd, command). Див. також ключове слово форматування comm, параметр -f та параметр c. Якщо вказано останнім, цей стовпчик буде розтягнуто до краю дисплея. Якщо ps не вдасться визначити ширину дисплея, наприклад, коли виведені дані буде переспрямовано (каналом) до файла або іншої програми, ширина виведення залишиться невизначеною (вона може дорівнювати 80, бути необмеженою, визначатися змінною TERM тощо). У цьому випадку для точного визначення ширини показу можна скористатися змінною середовища COLUMNS або параметром --cols. Для коригування ширини також можна скористатися параметром w або -w.
blockedBLOCKEDмаска блокованих сигналів, див. signal(7). Відповідно до ширини поля, буде показано 32 або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig_block, sigmask).
bsdstartSTARTчас запуску команди Якщо процес було запущено менше ніж 24 години тому, буде виведено дані у форматі «ГГ:ХХ», інакше, дані буде виведено у форматі « Ммм дд» (де «Ммм» — трилітерне скорочення назви місяця). Див. також lstart, start, start_time і stime.
bsdtimeTIMEнакопичувальний час процесора, користувач + система. Форматом показу, зазвичай, є «ХХХ:СС», але його можна посунути праворуч, якщо процес використав понад 999 хвилин часу процесора.
cCвикористання процесора. У поточній версії це ціле значення у відсотках використання процесора до часу життя процесу (див. %cpu).
caughtCAUGHTмаска перехоплених, див. signal(7). Відповідно до ширини поля, буде показано 32 або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig_catch, sigcatch).
cgnameCGNAMEназва керівних груп дисплея, до яких належить процес.
cgroupCGROUPкерівні групи дисплея, до яких належить процес.
cgroupnsCGROUPNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
classCLSклас планування процесу. (альтернатива — policy, cls). Можливими значеннями поля є такі: "" 2 - не повідомлено TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR B SCHED_BATCH ISO SCHED_ISO IDL SCHED_IDLE DLN SCHED_DEADLINE ? невідоме значення
clsCLSклас планування процесу. (альтернатива — policy, cls). Можливими значеннями поля є такі: "" 2 - не повідомлено TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR B SCHED_BATCH ISO SCHED_ISO IDL SCHED_IDLE DLN SCHED_DEADLINE ? невідоме значення
cmdCMDдив. args. (альтернатива – args, command).
commКОМАНДАназва команди (лише назва виконуваного файла). Зміни у назві команди показано не буде. Процес, який позначено записом <defunct> є частково мертвим, таким, що очікує на повне знищення батьківським процесом. Виведені до цього стовпчика дані можуть містити пробіли. (альтернативи – ucmd, ucomm). Див. також ключове слово форматування args, параметр -f та параметр c. Якщо вказано останнім, цей стовпчик буде розтягнуто до краю дисплея. Якщо ps не вдасться визначити ширину дисплея, наприклад, коли виведені дані буде переспрямовано (каналом) до файла або іншої програми, ширина виведення залишиться невизначеною (вона може дорівнювати 80, бути необмеженою, визначатися змінною TERM тощо). У цьому випадку для точного визначення ширини показу можна скористатися змінною середовища COLUMNS або параметром --cols. Для коригування ширини також можна скористатися параметром w або -w.
commandКОМАНДАДив. args. (альтернатива – args, command).
cpCPвикористання процесора у проміле (десятих відсотка) (див. %cpu).
cputimeTIMEнакопичувальний час процесора у форматі «[ДД-]гг:хх:сс» (альтернатива — time).
cputimesTIMEнакопичувальний час процесора у секундах (альтернатива – times).
cuc%CUCВикористання процесора процесом, включно із завершеними дочірніми процесами, у розширеному форматі «##.###». (див. також %cpu, c, cp, cuu, pcpu).
cuu%CUUВикористання процесора процесом, у розширеному форматі «##.###». (див. також %cpu, c, cp, cuc, pcpu).
drsDRSрозмір резидентного набору даних, обсяг фізичної пам'яті, яку використано для даних, відмінних від виконуваного коду.
egidEGIDчисловий ідентифікатор ефективної групи процесу у форматі десяткового цілого числа (альтернатива – gid).
egroupEGROUPідентифікатор ефективної групи процесу. Це буде текстовий ідентифікатор групи, якщо його можна отримати, і поле є достатньо широким, або числове представлення, якщо це не так. (альтернатива – group).
eipEIPвказівник на інструкцію. З часу появи ядра 4.9.xx буде занулено, якщо завдання не завершує роботу або система створює дамп ядра для нього.
espESPвказівник на стек. З часу появи ядра 4.9.xx буде занулено, якщо завдання не завершує роботу або система створює дамп ядра для нього.
etimeELAPSEDЧас, що сплинув з часу запуску процесу у формі [[ДД-]гг:]хх:сс.
etimesELAPSEDчас, що минув з моменту запуску процесу, у секундах.
euidEUIDідентифікатор ефективного користувача (альтернатива – uid).
euserEUSERефективне ім'я користувача. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так. Для примусового визначення десяткового представлення можна скористатися параметром n. (альтернатива – uname, user).
exeEXEшлях до виконуваного файла. Корисно, якщо шлях не може бути виведено за допомогою параметрів форматування cmd, comm або args.
fFпрапорці, які пов'язано із процесом, Див. розділ ПРАПОРЦІ ПРОЦЕСУ. (альтернатива – flag, flags).
fgidFGIDідентифікатор групи для доступу до файлової системи (альтернатива – fsgid).
fgroupFGROUPідентифікатор групи для доступу до файлової системи. Це буде текстовий ідентифікатор групи, якщо його можна отримати, і поле є достатньо широким, або числове представлення, якщо це не так. (альтернатива – fsgroup).
flagFдив. f (альтернатива – f, flags).
flagsFдив. f (альтернатива – f, flag).
fnameКОМАНДАперші 8 байтів базової назви виконуваного файла процесу. Виведені дані у цьому стовпчику можуть містити пробіли.
fuidFUIDідентифікатор користувача для доступу до файлової системи (альтернатива – fsuid).
fuserFUSERідентифікатор користувача для доступу до файлової системи. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
gidGIDдив. egid (альтернатива egid).
groupGROUPдив. egroup (альтернатива – egroup).
ignoredIGNOREDмаска ігнорованих сигналів, див. signal(7). Відповідно до ширини поля, буде показано 32 або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig_ignore, sigignore).
ipcnsIPCNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
labelLABELмітка захисту, здебільшого використовують для даних контексту SELinux. Призначено для Mandatory Access Control («MAC») у високозахищених системах.
lstartSTARTEDмомент часу, коли запущено команду. Див. також bsdstart, start, start_time і stime.
lsessionSESSIONпоказує ідентифікатор сеансу входу процесу, якщо було включено підтримку systemd.
luidLUIDпоказує ідентифікатор входу, який пов'язано із процесом.
lwpLWPідентифікаторів легких процесів (потоків) розподілюваного запису (альтернатива – spid, tid). Див. tid, щоб дізнатися більше.
lxcLXCНазва контейнера LXC, у якому запущено завдання. Якщо процес не запущено у контейнері, буде показано дефіс («-»).
machineMACHINEпоказує назву комп'ютера для процесів, які пов'язано із віртуальною машиною або контейнером, якщо було включено підтримку systemd.
maj_fltMAJFLTКількість основних помилок сторінок, які сталися із цим процесом.
min_fltMINFLTКількість вторинних помилок сторінок, які сталися із цим процесом.
mntnsMNTNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
netnsNETNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
niNIзначення nice. Діапазон значення — від 19 (найнижча пріоритетність) до -20 (найвища пріоритетність щодо інших), див. nice(1) (альтернатива – nice).
niceNIдив. ni. (альтернативаni).
nlwpNLWPкількість lwps (потоків обробки) у процесі (альтернатива – thcount).
numaNUMAВузол, з яким пов'язано останній використаний процесор. Якщо тут показано -1, дані щодо NUMA є недоступними.
nwchanWCHANадреса функції ядра, де спить процес (скористайтеся, wchan, якщо вам потрібна назва функції).
oomOOMОцінка виходу за межі доступної пам'яті. Значення у діапазоні від 0 до +1000, яке буде використано для вибору завдань, виконання яких слід припинити, якщо буде вичерпано пам'ять.
oomadjOOMADJКоефіцієнт коригування виходу за межі доступної пам'яті. Значення, яке буде додано до поточного рахунку виходу за межі пам'яті (OOM), яке потім буде використано для визначення того, виконання якого завдання слід припинити, якщо пам'ять буде вичерпано.
ouidOWNERпоказує ідентифікатор користувача Unix власника сеансу процесу, якщо було включено підтримку systemd.
pcpu%CPUдив. %cpu (альтернатива – %cpu).
pendingPENDINGмаска сигналів черги. Див. signal(7). Черга сигналів процесу відрізняється від черги сигналів потоків обробки. Скористайтеся параметрами m і -m для перегляду обох. Відповідно до ширини поля, буде показано 32 або 64-бітову маску у шістнадцятковому форматі (альтернатива – sig).
pgidPGIDідентифікатор групи процесів або, що те саме, ідентифікатор процесу лідера групи процесів (альтернатива – pgrp).
pgrpPGRPдив. pgid (альтернатива – pgid).
pidPIDчисло, що відповідає ідентифікатору процесу (альтернатива – tgid).
pidnsPIDNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
pmem%MEMдив. %mem (альтернатива – %mem).
policyPOLклас планування процесу. (альтернатива — class, cls). Можливими значеннями поля є такі: "" 2 - не повідомлено TS SCHED_OTHER FF SCHED_FIFO RR SCHED_RR B SCHED_BATCH ISO SCHED_ISO IDL SCHED_IDLE DLN SCHED_DEADLINE ? невідоме значення
ppidPPIDідентифікатор батьківського процесу.
priPRIпріоритетність процесу. Більше число — вища пріоритетність.
psrPSRпроцесор, а якому востаннє виконувався процес.
pssPSSПропорційний розмір спільного користування, нерезервована фізична пам'ять із пам'яттю спільного використання, яку пропорційно враховано для усіх завдань, які виконують її прив'язування.
rbytesRBYTESКількість байтів, отримання яких з шару сховища даних було насправді спричинено цим процесом.
rcharsRCHARSКількість байтів, читання яких зі сховища даних було спричинено цим завданням.
rgidRGIDсправжній ідентифікатор групи.
rgroupRGROUPназва справжньої групи. Це буде текстовий ідентифікатор групи, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
ropsROPSNumber of read I/O operations�that is, system calls such as read(2) and pread(2).
rssRSSрозмір резидентного набору, нерезервована фізична пам'ять, яку використано завданням (у кілобайтах) (альтернатива – rssize, rsz).
rssizeRSSдив. rss (альтернатива – rss, rsz).
rszRSZдив. rss (альтернатива – rss, rssize).
rtprioRTPRIOпріоритетність справжнього часу.
ruidRUIDсправжній ідентифікатор користувача.
ruserRUSERсправжній ідентифікатор користувача. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
sSмінімальний показ стану (один символ). Див. розділ КОДИ СТАНІВ ПРОЦЕСУ для різних значень. Див. також stat, якщо вам потрібен показ додаткових відомостей (альтернатива – state).
schedSCHправила планування для процесу. Для правил 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.
sessSESSідентифікатор сеансу або, що те саме, ідентифікатор процесу лідера сеансу. (альтернатива session, sid).
sgi_pPпроцесор, на якому виконується процес. Буде показано «*», якщо процес не працює або не є придатним до запуску.
sgidSGIDідентифікатор збереженої групи. (альтернатива svgid).
sgroupSGROUPназва збереженої групи. Це буде текстовий ідентифікатор групи, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так.
sidSIDдив. sess. (альтернатива sess, session).
sigPENDINGдив. pending. (альтернатива pending, sig_pend).
sigcatchCAUGHTдив. caught. (альтернатива caught, sig_catch).
sigignoreIGNOREDдив. ignored. (альтернатива ignored, sig_ignore).
sigmaskBLOCKEDдив. blocked. (альтернатива blocked, sig_block).
sizeSIZEприблизний обсяг простору резервної пам'яті, який знадобиться, якщо процес зіпсує усі записувані сторінки з наступним витісненням до резервної пам'яті. Це числове значення обчислено досить грубо!
sliceSLICEпоказує модуль зрізу, до якого належить процес, якщо було включено підтримку systemd.
spidSPIDдив. lwp. (альтернативи lwp, tid).
stackpSTACKPадреса низу (початку) стека для процесу.
startSTARTEDчас запуску команди. Якщо процес було запущено менше ніж 24 години тому, буде виведено дані у форматі «ГГ:ХХ:СС», інакше, дані буде виведено у форматі «  Ммм дд» (де «Ммм» — трилітерне скорочення назви місяця). Див. також lstart, bsdstart, start_time і stime.
start_timeSTARTчас або дата запуску процесу. Якщо процес не було запущено року, коли було викликано ps, буде показано лише рік або «МммДД», якщо процес не було запущено у той самий день, або «ГГ:ХХ» у інших випадках. Див. також bsdstart, start, lstart і stime.
statSTATбагатосимвольний стан процесу. Див. розділ КОДИ СТАНІВ ПРОЦЕСУ, щоб дізнатися про призначення різних значень. Див. також s і state, якщо ви просто хочете бачити перший символ.
stateSдив. s. (альтернатива  s).
stimeSTIMEдив. start_time. (альтернатива start_time).
suidSUIDзбережений ідентифікатор користувача (альтернатива – svuid).
supgidSUPGIDідентифікатори груп для допоміжних груп, якщо такі є. Див. getgroups(2).
supgrpSUPGRPназви груп для допоміжних груп, якщо такі є. Див. getgroups(2).
suserSUSERзбережене ім'я користувача. Це буде текстовий ідентифікатор користувача, якщо його можна отримати і поле є достатньо широким, або числове представлення, якщо це не так (альтернатива – svuser).
svgidSVGIDдив. sgid (альтернатива – sgid).
svuidSVUIDдив. suid. (альтернатива suid).
szSZрозмір у фізичних сторінках образу ядра процесу. Це включає текст, дані та стек. У поточній версії прив'язки до пристроїв виключено; це може змінитися. Див. vsz і rss.
tgidTGIDчисло, яке відповідає групі потоків обробки, яким належить завдання (альтернатива – pid). Це ідентифікатор процесу лідера групи потоків обробки.
thcountTHCNTдив. nlwp (альтернатива – nlwp), кількість потоків обробки ядра, власником яких є процес.
tidTIDунікальне число, що відповідає розподілюваному запису (альтернатива – lwp, spid). Це значення може також бути показано як ідентифікатор процесу (pid); ідентифікатор групи процесів (pgrp); ідентифікатор сеансу для лідера сеансу (sid); ідентифікатор групи потоків для лідера групи потоків (tgid) та ідентифікатор групи процесів термінала для лідера групи процесів (tpgid).
timeTIMEнакопичувальний час процесора у форматі «[ДД-]ГГ:ХХ:СС» (альтернатива — cputime).
timensTIMENSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
timesTIMEнакопичувальний час процесора у секундах (альтернатива – cputimes).
tnameTTYкерівний tty (термінал) (альтернатива – tt, tty).
tpgidTPGIDідентифікатор основної групи процесів на tty (термінала), з яким з'єднано процес, або -1, якщо процес не з'єднано з терміналом.
trsTRSрозмір резидентного набору текстових даних, обсяг фізичної пам'яті, яку використано для даних виконуваного коду.
ttTTкерівний tty (термінал) (альтернатива – tt, tty).
ttyTTкерівний tty (термінал) (альтернатива – tt, tty).
ucmdCMDдив. comm (альтернатива – comm, ucomm).
ucommКОМАНДАдив. comm. (альтернативи comm, ucmd).
uidUIDдив. euid. (альтернатива euid).
unameUSERдив. euser. (альтернативи euser, user).
unitUNITпоказує модуль, до якого належить процес, якщо було включено підтримку systemd.
користувачUSERдив. euser. (альтернативи euser, uname).
usernsUSERNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
ussUSSРозмір унікального набору, нерезервована фізична пам'ять, яку не використано спільно з іншими завданнями.
utsnsUTSNSУнікальний номер inode, що описує простір назв, до якого належить процес. Див. namespaces(7).
uunitUUNITпоказує модуль користувача, до якого належить процес, якщо було включено підтримку systemd.
vsizeVSZдив. vsz. (альтернатива vsz).
vszVSZрозмір віртуальної пам'яті процесу у КіБ (1024-байтових одиницях). У поточній версії прив'язки до пристроїв буде виключено; це може бути змінено у майбутніх версіях (альтернатива – vsize).
wbytesWBYTESКількість байтів, які було надіслано до шару сховища завдяки цьому процесу.
wcbytesWCBYTESКількість байтів, запис яких скасовано.
wchanWCHANназва функції ядра, у який спить процес.
wcharsWCHARSКількість байтів, запис на диск яких було спричинено або буде спричинено цим завданням.
wopsWOPSNumber 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
posixstandard
s390подібний до ps в OS/390 Open Edition
scoподібний до ps для SCO
sgiподібно до ps в Irix
solaris2подібний до ps для Solaris 2+ (SunOS 5)
sunos4подібний до ps для SunOS 4 (Solaris 1) (повністю нестандартний)
svr4standard
sysvstandard
tru64подібний до ps для Tru64 (раніше Digital Unix, раніше OSF/1)
unixstandard
unix95standard
unix98standard

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

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, додавши деякий обхідний код для застарілого і стороннього синтаксису.

Про вади, будь ласка, повідомляйте на адресу [email protected]. Підписка не є обов'язковою.

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