Desativando os nomes das colunas na saída do ps

15

Como formatar a saída do comando ps -p ?

Para não me mostrar algo assim:

PID TTY                TIME CMD

mas apenas PIDs.

Estou usando o Linux.

    
por Zola 29.09.2015 / 11:50

4 respostas

24

Use a opção -o para selecionar quais colunas serão exibidas. Se você colocar = após o nome da coluna, a linha de cabeçalho será suprimida.

ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
    
por 30.09.2015 / 02:53
18

Use o --no-headers para omitir a linha de cabeçalho.

Saída original:

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

com --no-headers :

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

Combinando com -p :

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

A página man para ps documenta isso claramente:

man ps

[snip]

 --no-headers
          Print no header line at all.  --no-heading is an alias for this option.
    
por 29.09.2015 / 11:58
2

Use

ps -p <PIDs> --no-headers

para obter uma lista de PIDs sem o cabeçalho.

    
por 29.09.2015 / 11:58
0

Para obter uma lista apenas dos PIDs:

ps -eo pid

Veja também man ps seção 'ESPECIFICADORES DE FORMATO PADRÃO' para possíveis colunas.

Pessoalmente, gosto da maneira como o Solaris mostra as possíveis colunas a serem usadas para o argumento -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
    
por 29.09.2015 / 12:14

Tags