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

Speichern Sie in einer Variablen die Anzahl der Sekunden, die ein Prozess für die Ausführung benötigt hat

Möchten Sie diesen Code in Ihr Skript einfügen oder von dem Prozess aus ausführen, der das Skript startet?

Für letzteres können Sie das reservierte Wort "time" verwenden und dann analysieren, was es zurückgibt, um zu ermitteln, wie viel Zeit ein Skript benötigt.

Wenn Sie dies aus einem Skript heraus tun möchten, können Sie die Variable SECONDS auf Null setzen, und jedes Mal, wenn Sie auf diese Variable verweisen, wird sie auf die Anzahl der verstrichenen Sekunden aktualisiert. Sie können also "SECONDS=0" ganz am Anfang Ihres Skripts setzen, und wann immer Sie die verstrichene Zeit benötigen, wird sie in der SECONDS-Variablen stehen.

Sie können den $SECONDS-Trick auch auf der Befehlszeile verwenden, zum Beispiel:

$ SECONDS=0; sleep 5 ; echo "that took approximately $SECONDS seconds"

Das zeitreservierte Wort und die SECONDS-Variable sind beide in der Bash-Manpage dokumentiert.


Dies funktioniert in Bash und auch in Zsh:

# Set time format to seconds
TIMEFORMAT=%R
# Time a process
PROC_TIME=$(time (insert command here >/dev/null 2>&1) 2>&1)
echo $PROC_TIME
  • Die ersten beiden Umleitungen verbergen die Ausgabe Ihres Prozesses ">/dev/null 2>&1"
  • Die letzte Weiterleitung wird benötigt, weil "time" die Zeit auf stderr ausgibt

Linux
  1. Wie erhalte ich die eigene IP-Adresse und speichere sie in einer Variablen in einem Shell-Skript?

  2. Der maximale Wert der Prozess-ID?

  3. Ist es Shell Portable, einen Befehl in derselben Zeile nach der Variablenzuweisung auszuführen?

  4. Führen Sie AVD und VirtualBox gleichzeitig aus

  5. Bash:Berechnen Sie die zwischen zwei Zeitstempeln verstrichene Zeit

Zeitanzeige zeigt Datum/Uhrzeit nicht an?

Wie bringe ich meinen Golang-Webserver dazu, im Hintergrund zu laufen?

Wie kann ich tcpdump so planen, dass es für einen bestimmten Zeitraum ausgeführt wird?

Gibt es in Linux einen Befehl, um die Prozessornummer zu ermitteln, in der ein Prozess geladen wird?

Wenn ich die PID-Nummer eines Prozesses kenne, wie erhalte ich seinen Namen?

Wie kann ich die Uhrzeit eines laufenden Prozesses abrufen?