Réponses:
Utilisez l' -o
option pour sélectionner les colonnes à afficher. Si vous mettez =
après le nom de la colonne, la ligne d'en-tête est supprimée.
ps -o pid= -p 1 23 456
ps -o pid= -o ppid= -o pgid= -o sid= -p 1 23 456
Utilisez le --no-headers
pour supprimer la ligne d'en-tête.
Sortie d'origine:
ps
PID TTY TIME CMD
27027 pts/0 00:00:00 bash
27071 pts/0 00:00:00 ps
Avec --no-headers
:
ps --no-headers
27027 pts/0 00:00:00 bash
27072 pts/0 00:00:00 ps
Combiner avec -p
:
ps -p 1 --no-headers
1 ? 00:00:33 systemd
La man
page de ps
documente clairement ceci:
man ps
[snip]
--no-headers
Print no header line at all. --no-heading is an alias for this option.
=
après le nom de la colonne dans le o
drapeau est une façon multiplateforme de le faire. Par exemple, ps -p ${pid} -o state=
affichera l'état du processus pour ${pid}
, sans en-tête. (C'est ce que dit la réponse acceptée :))
Pour obtenir une liste des seuls PID, utilisez:
ps -eo pid
Voir également la man ps
section «SPECIFICATEURS DE FORMAT STANDARD» pour les colonnes possibles.
Personnellement, j'aime la façon dont Solaris affiche les colonnes possibles à utiliser pour l' -o
argument:
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