Отключение имен столбцов в выводе 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 .
Энтони Дж. - правосудие для Моники
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
Не работает на macos. Naturall -____-
Авиндра Гулчаран
Верно. Не ожидалось, что работать на MacOS. Вопрос касался исключительно Linux, о чем свидетельствует оригинальный постер.
Стив
2
нп стив. Просто документирую это здесь для будущих читателей. Незначительные различия между утилитами BSD и Linux сильно раздражают. Сед - худшее
Авиндра Гулчаран
Хорошо, спасибо. если у вас есть мысли о том, как включить решение MacOS в ответ, я с радостью пересмотрю его!
Стив
2
я обнаружил, что для определенных заголовков столбцов, поместив =после имени столбца вo флага является кроссплатформенным способом сделать это. Например, ps -p ${pid} -o state=покажет состояние процесса для ${pid}, без заголовка. (
Вот что говорится
2

использование

ps -p <PIDs> --no-headers

чтобы получить список PID без заголовка.

dr01
источник
-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
Это не решает проблему удаления отображаемого заголовка.
Кусалананда
Вот как вы интерпретируете «просто отображать PID». Некоторые могут интерпретировать это, просто выбрав один столбец, или, как вы, очевидно, понимаете: просто значения.
Ламберт