93 votes

Comment trier la sortie ps par heure de démarrage du processus?

Y a-t-il un moyen de trier la sortie ps par heure de démarrage du processus, de sorte que les plus récents soient soit en haut, soit en bas ?

Sous Linux ?

Sous SysV5 ?

Sur Mac ?

123voto

mdhughes Points 3805

Cela devrait fonctionner sur Linux et SysV5

ps -ef --sort=start_time

0 votes

Cela fonctionne exactement comme demandé, merci. Après avoir creusé davantage, je ne suis pas sûr que ce soit possible sur Mac OS sans un peu d'awk

1 votes

Start_time a fonctionné. lstart n'a pas. RHEL

0 votes

ps aux --sort=start_time commande fonctionne correctement

15voto

rkthkr Points 8463

Linux :

$ ps aux --sort=lstart 

OSX :

$ ps aux -O started

3 votes

Je crains que aucun de ces types ne soit trié par heure de début. Il affiche bien l'heure de début, mais ne trie pas.

6 votes

La différence entre lstart et start_time m'a également surpris - lstart donne un horodatage complet, mais ne peut pas être utilisé comme clé de tri. start_time donne la colonne habituelle "heure dans les dernières 24 heures, date sinon", et peut être utilisé comme clé de tri. Les deux donnent 'STARTED' dans l'en-tête.

0 votes

Temps dans la dernière heure: si un processus a été lancé hier à un moment ultérieur à celui d'aujourd'hui, il apparaîtra après le processus d'aujourd'hui ... ne peut pas être utilisé par le tri, sauf si un peu de "awk" change cela

5voto

En plus des excellentes réponses ci-dessus, parfois je veux simplement voir les 20 premiers coupables par processus triés par temps, cpu% et utilisation de la mémoire.

Pour cela j'utilise :

ps auxww --sort=lstart | sort -r -k3,4 | head -20

Cela serait sur une plate-forme CentOS, bien que j'ai également obtenu les mêmes résultats sur Fedora.

Oh et pour rire, parfois je veux supprimer un ensemble de processus, donc j'utilise simplement une variante de ce qui précède qui inclut un peu d'action grep -v, comme :

ps auxww --sort=lstart | sort -r -k3,4 | grep -v "sbin/httpd" | head -20

0 votes

--sort de ps ne fonctionne pas pour moi. Je compte sur sort de shell. +1

4voto

Barry S Points 41

Je ne peux pas encore commenter, mais pour répondre à la question sur comment inverser l'ordre d'un tri par heure, il suffit de mettre un signe négatif (-) devant le champ.
Exemple: ps -elf --sort=-start_time

2voto

Adamind Points 111

Ou essayez 'ls', car il permet des formats de temps faciles à trier et plus faciles à utiliser.

( cd /proc; ls -td --full-time --time-style=+%s [0123456789]*; )

Affiche la date/heure en époque, les processus les plus récents en haut.

0 votes

Cela ne montre que les pids

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X