Je suis en train de chercher à comprendre quand une commande que j'ai entrée a arrêté de s'exécuter, par exemple
sudo apt-get update
Je veux des informations comme :
début d'exécution à : 12:00
fin d'exécution à : 12:15
Je suis en train de chercher à comprendre quand une commande que j'ai entrée a arrêté de s'exécuter, par exemple
sudo apt-get update
Je veux des informations comme :
début d'exécution à : 12:00
fin d'exécution à : 12:15
Le point clé qui doit être compris à propos des processus est que leurs métadonnées ne sont pas enregistrées par défaut. Cependant, vous pouvez obtenir certaines informations pendant l'exécution du processus.
Comme cela a été indiqué dans la question connexe sur StackOverflow dans la réponse de wlk, l'heure de démarrage peut être obtenue via le drapeau -o
pour ps
et le spécificateur de format ltime
:
ps -eo pid,lstart,cmd
Cependant, l'heure d'arrêt n'est généralement pas suivie par le système, donc c'est quelque chose que vous devrez suivre vous-même. En connaissant le PID d'un processus, vous pourriez vérifier périodiquement l'existence de ce PID et afficher l'horodatage lorsque le processus disparaît
while kill -s 0 $pid ; do : ; sleep 0.25 ; done && date
Voir aussi : https://stackoverflow.com/a/5207048/3701431
Que diriez-vous d'écrire notre propre script bash?
#!/bin/bash
start_time=$(date +"%T")
$*
finish_time=$(date +"%T")
echo "début de l'exécution à : $start_time"
echo "fin de l'exécution à : $finish_time"
Enregistrez le script sous logscript.sh
Rendez-le exécutable en utilisant chmod +x logscript.sh
Vous pouvez exécuter une 'commande' en utilisant ./logscript.sh commande
Par exemple, ./logscript.sh sudo apt-get update
Vérifiez ce site pour des formats d'affichage de l'heure intéressants.
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.