GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich die Uhrzeit eines laufenden Prozesses abrufen?

Für einen laufenden Prozess können Sie Folgendes tun:

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

Als allgemeine Funktion können Sie Ihren Shell-Prompt ändern. Dies ist meine Bash-Eingabeaufforderungsdefinition:

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:> "

Der für Sie relevante Teil ist der \t für die Zeit.

Dies löst jedoch nicht alle Probleme. Die neue Eingabeaufforderung wird angezeigt, wenn der Prozess beendet ist, aber die frühere Eingabeaufforderung kann ziemlich alt gewesen sein, als der zu messende Befehl gestartet wurde. Also denken Sie entweder daran, die Eingabeaufforderung zu erneuern, bevor Sie lange laufende Befehle starten, oder Sie müssen sich die aktuelle Zeit merken, wenn Sie wissen möchten, wie lange der aktuelle Prozess gedauert hat.

Für eine vollständige Lösung benötigen Sie eine Audit-Funktion (die die Start- und Endzeit von Prozessen protokolliert). Aber das kann eine riesige Datenmenge verursachen, wenn es nicht auf die Shell beschränkt werden kann.


Aufbauend auf der akzeptierten Antwort können Sie mit watch auch kontinuierlich die verstrichene Zeit eines laufenden Prozesses überwachen :

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

Linux
  1. Wie ändere ich die Ausgabeumleitung eines laufenden Prozesses?

  2. Wie kann ich die Ausgabe eines laufenden Prozesses in einer anderen Bash-Sitzung anzeigen?

  3. Kann die Thread-ID eines Multithread-Prozesses mit der Prozess-ID eines anderen laufenden Prozesses identisch sein?

  4. Wie bekomme ich die Prozess-ID, um einen Nohup-Prozess zu beenden?

  5. Wie kann ich das aktuelle Datum und die aktuelle Uhrzeit im Terminal abrufen und einen benutzerdefinierten Befehl im Terminal dafür festlegen?

So erhalten Sie das aktuelle Datum und die aktuelle Uhrzeit in Python

Wie kann ich den Tastaturstatus unter Linux abrufen?

Wie erhalte ich die Startzeit eines lang andauernden Linux-Prozesses?

Wie kann ich den absoluten Pfad eines laufenden Prozesses erfahren?

Wie kann ich die Länge einer Videodatei von der Konsole abrufen?

So erhalten Sie die Gesamtlaufzeit einer Festplatte