GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je obtenir l'heure de l'horloge murale d'un processus en cours d'exécution ?

Pour un processus en cours d'exécution, vous pouvez faire ceci :

PID=5462
command ps -p "$PID" -o etime
command ps -p "$PID" --no-headers -o etime

En tant que fonctionnalité générale, vous pouvez modifier votre invite de shell. Voici ma définition d'invite bash :

TERM_RED_START=$'\033[1m\033[31m'
TERM_RED_END=$'\033(B\033[m'
PS1='\nec:$(ec=$?; if [ 0 -eq $ec ];
then printf %-3d $ec;
else echo -n "$TERM_RED_START"; printf %-3d $ec; echo "$TERM_RED_END";
fi) \t  \[email protected]\h:\w\nstart cmd:> '
PS2="cont. cmd:> "

La partie pertinente pour vous est le \t pour le moment.

Cela ne résout cependant pas tous les problèmes. La nouvelle invite indiquera la fin du processus, mais l'ancienne invite peut avoir été assez ancienne lorsque la commande à mesurer a été lancée. Donc, soit vous vous souvenez de renouveler l'invite avant de lancer des commandes longues, soit vous devez vous souvenir de l'heure actuelle lorsque vous voulez savoir combien de temps le processus en cours aura pris.

Pour une solution complète, vous avez besoin d'une fonctionnalité d'audit (qui enregistre l'heure de début et de fin des processus). Mais cela peut entraîner une énorme quantité de données si cela ne peut pas être limité au shell.


En vous appuyant sur la réponse acceptée, vous pouvez également surveiller en continu le temps écoulé d'un processus en cours d'exécution à l'aide de watch :

PID=5462
watch command ps -p "$PID" -o etime

Linux
  1. Comment afficher la sortie d'un processus en cours d'exécution dans une autre session Bash ?

  2. Comment faire passer les arguments de ligne de commande à un processus en cours d'exécution sur les systèmes unix/linux ?

  3. Comment puis-je obtenir l'état du clavier sous Linux?

  4. Comment obtenir l'ID de processus pour tuer un processus nohup ?

  5. Comment puis-je obtenir la date et l'heure actuelles dans le terminal et définir une commande personnalisée dans le terminal pour cela ?

Comment obtenir la date et l'heure actuelles en Python

Comment puis-je obtenir la longueur d'un fichier vidéo à partir de la console ?

Comment obtenir uniquement tous les identifiants de processus en cours d'exécution ?

Comment définir l'affinité processeur d'un processus sous Linux ?

Comment puis-je obtenir de manière fiable le nom du système d'exploitation ?

Comment récupérer par programmation le GID d'un processus en cours d'exécution