Désactiver les noms de colonne dans la sortie ps


23

Comment formater la sortie de la ps -pcommande?

Pour ne pas me montrer quelque chose comme ça:

PID TTY                TIME CMD

mais juste des PID.

J'utilise Linux.

Réponses:



21

Utilisez le --no-headerspour 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 manpage de psdocumente clairement ceci:

man ps

[snip]

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

2
Ne fonctionne pas sur macos. Naturall -____-
— Avindra Goolcharan

En effet. Ne devait pas fonctionner sur MacOS. La question concernait uniquement Linux, comme l'a souligné l'affiche originale.
— steve

2
np steve. Il suffit de le documenter ici pour les futurs lecteurs. Les différences mineures entre les utilitaires BSD et Linux sont très irritantes. sed est le pire
— Avindra Goolcharan

OK merci. si vous avez des idées sur la façon d'inclure la solution MacOS dans la réponse, je la réviserai avec plaisir!
— steve

2
J'ai trouvé que pour des en-têtes de colonne particuliers, mettre un =après le nom de la colonne dans le odrapeau 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 :))
— Avindra Goolcharan

2

Utilisation

ps -p <PIDs> --no-headers

pour obtenir une liste de PID sans en-tête.


-1

Pour obtenir une liste des seuls PID, utilisez:

ps -eo pid

Voir également la man pssection «SPECIFICATEURS DE FORMAT STANDARD» pour les colonnes possibles.

Personnellement, j'aime la façon dont Solaris affiche les colonnes possibles à utiliser pour l' -oargument:

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
Cela ne résout pas le problème de la suppression de l'en-tête qui s'affiche.
— Kusalananda

Voilà comment vous interprétez «afficher simplement le PID». Certains peuvent interpréter cela simplement en sélectionnant une colonne, ou comme vous interprétez apparemment: juste des valeurs.
— Lambert
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.