Вимкнення імен стовпців у виводі ps


23

Як відформатувати вихід ps -pкоманди?

Щоб не показувати мені щось подібне:

PID TTY                TIME CMD

а лише PID.

Я використовую Linux.

Відповіді:


36

За допомогою -oпараметра виберіть, які стовпці відображатимуться. Якщо ви введете =після назви стовпця, рядок заголовка придушується.

ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456

Ця відповідь має перевагу бути портативною (підтримується BSD та уточнюється POSIX .
Ентоні G - справедливість для Моніки

21

Використовуйте, --no-headersщоб пропустили рядок заголовка.

Оригінальний вихід:

ps
  PID TTY          TIME CMD
27027 pts/0    00:00:00 bash
27071 pts/0    00:00:00 ps

З --no-headers:

ps --no-headers
27027 pts/0    00:00:00 bash
27072 pts/0    00:00:00 ps

Поєднання з -p:

ps -p 1 --no-headers
    1 ?        00:00:33 systemd

manСторінка psчітко документує це:

man ps

[snip]

 --no-headers
          Print no header line at all.  --no-heading is an alias for this option.

2
Не працює на мако. Naturall -____-
Avindra Goolcharan

Справді. Не очікувалося, що він працює на MacOS. Питання стосувалося виключно Linux, як підкреслюється оригінальним плакатом.
Стів

2
np steve. Просто документуючи це тут для майбутніх читачів. Незначні розбіжності між утилітами BSD та Linux дуже дратують. sed є найгіршим
Avindra Goolcharan

добре, THX. якщо у вас є думки щодо того, як включити у відповідь рішення MacOS, я з радістю перегляну його!
steve

2
Я виявив, що для конкретних заголовків стовпців нанесення прапору =після назви стовпця на oпрапор - це кросплатформенний спосіб зробити це. Наприклад, ps -p ${pid} -o state=відображатиметься стан процесу ${pid}без заголовка. (Що говорить про прийняту відповідь :))
Авіндра Гулчаран

2

Використовуйте

ps -p <PIDs> --no-headers

щоб отримати список PID без заголовка.


-1

Щоб отримати список тільки PID, використовуйте:

ps -eo pid

Дивіться також man psрозділ "СТАНДАРТНІ СПЕЦИФІЕРИ ФОРМАТУ" щодо можливих колон.

Особисто мені подобається те, як Solaris показує можливі стовпці, використані для -oаргументу:

ps: option requires an argument -- o
usage: ps [ -aAdefHlcjLPyZ ] [ -o format ] [ -t termlist ]
        [ -u userlist ] [ -U userlist ] [ -G grouplist ]
        [ -p proclist ] [ -g pgrplist ] [ -s sidlist ] [ -z zonelist ] [-h lgrplist]
  'format' is one or more of:
        user ruser group rgroup uid ruid gid rgid pid ppid pgid sid taskid ctid
        pri opri pcpu pmem vsz rss osz nice class time etime stime zone zoneid
        f s c lwp nlwp psr tty addr wchan fname comm args projid project pset lgrp

1
Це не стосується проблеми видалення заголовка, який відображається.
Kusalananda

Ось так ви інтерпретуєте "просто відобразити PID". Деякі можуть витлумачити це лише вибором одного стовпця, або як ви, очевидно, інтерпретуєте: просто значення.
Ламберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.