Sto usando un pscomando come parte di un esercizio per identificare i processi che durano più a lungo di una determinata soglia.
Sto usando il seguente modello per ottenere il tempo trascorso per un comando di processo noto:
ps -eo etime,command | grep <something to identify a process> | grep -v grep | awk '{print $1}'
Noto che con processi a esecuzione breve, il valore etime (tempo trascorso) assume il formato minutes:secondse da questo posso facilmente determinare da quanto tempo è in esecuzione un processo.
Per i processi di esecuzione molto lunghi (giorni), non capisco il formato.
Ho un processo server MySQL che htopmostra come in esecuzione per 126 ore.
L'esecuzione ps -eo etime,command | grep mysql | grep -v grep | awk '{print $1}'mi dà un valore di 9-03:35:32.
La mia ipotesi migliore è che ciò significhi 9 qualcosa, 3 ore, 35 minuti, 32 secondi. Non riesco a capire quali siano le unità per il 9.
Il processo in questione dura 126 ore, circa 5,25 giorni. Ciò suggerisce che il 9 nell'output sopra non rappresenta i giorni. Non possono essere nemmeno mezza giornata in quanto (9 * 12) ore + 3 ore + 35 minuti + 32 secondi è inferiore a 5 giorni.
Come posso interpretare il valore del tempo trascorso che vedo per i processi di lunga durata? Quali unità accompagnano il 9 nell'output sopra?
etimesinvece etimee confrontare i risultati.
psvisualizza l'uno o l'altro a seconda delle opzioni che si passano.