Wie erfahre ich, wie lange ein Befehl für die Verwendung des Zeitbefehls ausgeführt wurde?

525
JoeNyland

Ich habe eine lange mysqldumpZeit, die seit über 2 Tagen läuft (viele hundert GB Daten werden archiviert). Ich habe den Befehl mit gestartet, timedamit ich sehen konnte, wie lange es gedauert hatte, als er fertig war.

Gibt es ein Signal, an das ich senden kann, timeum die seit dem Ausführen des Befehls verstrichene Zeit zu drucken?

0

2 Antworten auf die Frage

2
Stefan Seidel

Ich würde davon ausgehen, dass Sie damit angefangen haben time mysqldump ..., was höchstwahrscheinlich die eingebaute Shell verwendet time, nicht /usr/bin/timeoder nicht /bin/time. Ich glaube nicht, dass es eine Möglichkeit gibt, die Uhrzeit auszudrucken.

Sie können jedoch cd /proc/$(pgrep mysqldump)einige Statistiken dort überprüfen. Wenn Sie nur wissen möchten, wie lange es seit dem Start ist, können Sie es einfach ausführen

ps faxo pid,cls,stat,pri,euser,pcpu,etime,rss:8,args 

In der 7. Spalte wird die verstrichene Zeit als "Tage-Stunden: Minuten: Sekunden" angezeigt.

0
cricket_007

Wenn Sie ps aux | grep mysqlddie zehnte Spalte ausführen, sollte die Laufzeit des Prozesses angezeigt werden.

Die zweite Spalte zeigt die Prozess-ID (z. B. XYZ). Sie können dies in Echtzeit durch Ausführen überprüfen top -pid XYZ.