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.