Unter Linux sind Warten und Ruhezustand sehr wichtige Konzepte. Sie können uns helfen, Systemressourcen zu optimieren und die Programmleistung zu verbessern. Bei der eigentlichen Programmierung müssen wir das Programm jedoch manchmal eine Zeit lang „schlafen“ lassen oder warten, bis bestimmte Vorgänge abgeschlossen sind, bevor wir fortfahren können. In diesem Artikel stellen wir die Wait-to-Hibernate-Methode unter Linux ausführlich vor, damit Sie ein tieferes Verständnis ihrer Prinzipien und Verwendung erhalten.
Schlafbefehl
Der Befehlsleep pausiert für die angegebene Zeit. Es wird normalerweise in Skripten verwendet, funktioniert aber auch auf der Befehlszeile. Im folgenden Beispiel wird der Ruhezustand zwischen zwei Datumsbefehlen für 30 Sekunden unterbrochen.
[root@localhost ~]# date ; sleep 30 ; date Thu Nov 11 05:06:44 EST 2021 Thu Nov 11 05:07:14 EST 2021
Der Befehl „sleep“ benötigt ein numerisches Argument als Anzahl der Sekunden. Sie können den Ruhezustand aber auch zu unterschiedlichen Zeiten einstellen, indem Sie im Parameter ein Zeichen hinzufügen:
[root@localhost ~]# date ; sleep 10s ; date Thu Nov 11 05:11:09 EST 2021 Thu Nov 11 05:11:19 EST 2021
Die Einschlafzeit kann auch weniger als 1 Sekunde betragen, fügen Sie einfach ein .
.
[root@localhost ~]# date ; sleep .1 ; date Thu Nov 11 05:14:03 EST 2021 Thu Nov 11 05:14:03 EST 2021
sleep wird normalerweise verwendet, um einen Befehl regelmäßig auszuführen, z. B. alle 10 Sekunden oder jede Minute, wenn Sie eine Aktivität überwachen möchten. Beispielsweise könnten Sie darauf warten, dass sich ein Kollege bei einem Dateiserver anmeldet. Sie könnten einen Befehl wie diesen ausführen:
[root@localhost ~]# while true ; do who ; sleep 100 ; done
Sie können Änderungen in der Speichernutzung beobachten.
[root@localhost ~]# while true ; do free -h ; sleep 5 ; done
Warten Sie den Befehl
Der Befehlwait erfasst den Beendigungsstatus des Hintergrundprozesses, nachdem er auf den Abschluss des Hintergrundprozesses gewartet hat. Sie können es auch in Skripten verwenden. Ersetzen Sie den Sleep-Befehl durch den Prozess, auf den Sie warten möchten. Dieses Skript zeigt auch den Exit-Status an.
#!/bin/bash sleep 5 & process_id=$! echo “PID: $process_id” wait $process_id echo “Exit status: $?”
Die erste Zeile startet den Sleep-Befehl im Hintergrund. Die zweite Zeile erhält die Prozess-ID des zuletzt ausgeführten Hintergrundprozesses$!
. Das Skript zeigt dann diese Informationen an, wartet auf den Abschluss des Prozesses und zeigt den Exit-Status an.
Wenn Sie wait -n verwenden (keine zusätzlichen Parameter erforderlich), wartet wait, bis alle Hintergrundaufgaben abgeschlossen sind. Im folgenden Beispiel wird der Befehl „sleep 6“ zuerst ausgeführt und das Skript beendet, die anderen beiden Sleep-Prozesse werden jedoch einige Sekunden lang im Hintergrund weiter ausgeführt.
#!/bin/bash sleep 15 & sleep 9 & sleep 6 & wait -n echo “First job has been completed.”
Wenn Sie es in das folgende Skript ändern, werden Sie darüber informiert, wann jeder Schlafvorgang abgeschlossen ist. Aus zeitlichen Gründen geschieht dies in umgekehrter Reihenfolge zu Beginn des Schlafvorgangs.
#!/bin/bash sleep 15 & sleep 9 & sleep 6 & wait -n echo “First job has been completed.” wait -n echo “Next job has been completed.” wait echo “All jobs have been completed.”
Hinweis: Der Warteprozess muss ein „untergeordneter Prozess“ sein (ein Prozess, der in der aktuellen Shell gestartet wird).
Kurz gesagt, Warten und Ruhezustand sind sehr praktische Funktionen in Linux-Systemen, die uns helfen können, Systemressourcen zu sparen und die Programmleistung zu verbessern. In diesem Artikel stellen wir fünf gängige Methoden vor, um unter Linux auf den Ruhezustand zu warten, und führen eine detaillierte Analyse ihrer Verwendung sowie ihrer Vor- und Nachteile durch. Ich hoffe, dass Sie durch die Einführung dieses Artikels diese Warte- und Schlaftechnologien besser beherrschen und sie flexibel in der tatsächlichen Programmierung einsetzen können.
Das obige ist der detaillierte Inhalt vonAnleitung zum Warten auf den Ruhezustand unter Linux: Umfassende Analyse von 5 Wartemethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!