J'utilise une ps
commande dans le cadre d'un exercice pour identifier les processus exécutés plus longtemps qu'un seuil donné.
J'utilise le modèle suivant pour obtenir le temps écoulé pour une commande de processus connu:
ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}'
Je remarque qu'avec des processus à court terme, la valeur etime (temps écoulé) prend le format minutes:seconds
et à partir de cela, je peux facilement déterminer la durée d'un processus.
Pour les processus très longs (jours), je ne comprends pas le format.
J'ai un processus de serveur MySQL qui htop
s'affiche comme fonctionnant pendant 126 heures.
L'exécution ps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}'
me donne une valeur de 9-03:35:32
.
Ma meilleure supposition est que cela signifie 9 quelque chose, 3 heures, 35 minutes, 32 secondes. Je ne peux pas comprendre quelles sont les unités pour le 9.
Le processus en question a fonctionné 126 heures, environ 5,25 jours. Cela suggère que le 9 dans la sortie ci-dessus ne représente pas les jours. Ils ne peuvent pas non plus être des demi-journées car (9 * 12) heures + 3 heures + 35 minutes + 32 secondes est inférieur à 5 jours.
Comment interpréter la valeur de temps écoulé que je vois pour les processus de longue durée? Quelles unités accompagnent les 9 dans la sortie ci-dessus?
etimes
au lieu de etime
et comparez les résultats.
ps
affiche l'un ou l'autre selon les options que vous passez.