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

So führen Sie für immer alle X Sekunden einen Linux-Befehl aus

Waren Sie jemals in einer Situation, in der Sie alle paar Sekunden wiederholt einen bestimmten Linux-Befehl ausführen mussten? Nun, wenn Sie es noch nicht wissen, wird Ihnen dieses Tutorial beibringen, wie. Natürlich können Sie dies mit einem Shell-Skript oder Cron-Jobs tun . Sie können einen Linux-Befehl auch in einem bestimmten Intervall wiederholen, ohne ihn jedes Mal manuell ausführen zu müssen. Hier ist Ansehen Befehl ist praktisch. Dieser Befehl kann verwendet werden, um den angegebenen Befehl wiederholt auszuführen und die Ausgabe zu überwachen. Um dies in einfachen Worten auszudrücken, können wir den Watch-Befehl verwenden, um einen Linux-Befehl für immer alle X Sekunden auszuführen, und er zeigt die Ausgabe in der Konsole an, bis wir ihn manuell stoppen, indem wir CTRL+C oder beenden Sie den Prozess oder erzwingen Sie einen Neustart des Systems. Standardmäßig wird der angegebene Befehl alle 2 Sekunden ausgeführt, oder Sie können das Zeitintervall Ihrer Wahl definieren.

Führen Sie alle X Sekunden einen Linux-Befehl für immer mit Watch Command aus

Die Syntax von watch Befehl ist:

$ watch [options] command

Unten habe ich ein paar Beispiele gegeben, um Ihnen zu zeigen, wo Sie watch verwenden können Befehl, um einen bestimmten Linux-Befehl wiederholt auszuführen.

Beispiel 1:

Angenommen, Sie möchten die Betriebszeit ausführen Befehl alle 2 Sekunden, um die Betriebszeit Ihres Systems zu überwachen. Führen Sie dazu einfach Folgendes aus:

$ watch uptime

Beispielausgabe:

Every 2.0s: uptime                                     sk Wed Feb  9 20:14:46 2018

 20:15:46 up  2:38,  1 users,  load average: 0.41, 0.35, 0.46

Hier,

  • Alle 2,0 s: Betriebszeit - Die Betriebszeit Der Befehl wird alle 2 Sekunden ausgeführt und zeigt das Ergebnis an.
  • sk - Der aktuell angemeldete Benutzer
  • Mittwoch 9. Februar 20:14:46 2018 - Das aktuelle Datum und die Uhrzeit, zu der wir den Befehl ausgeführt haben.

Dies wird so lange ausgeführt, bis Sie es manuell beenden. Um den Befehl zu beenden, drücken Sie STRG+C .

Sie können auch die Ausgabe von uptime speichern Befehl in einer Datei. Führen Sie dazu Folgendes aus:

$ watch `uptime` > uptime.txt

Oder

$ watch `uptime` > uptime.doc

Dies kann nützlich sein, wenn Sie die Betriebszeit Ihres Systems an einen technischen Support senden möchten, um Hilfe zu erhalten.

Beispiel 2:

Wie ich bereits erwähnt habe, beobachten Der Befehl führt standardmäßig alle 2 Sekunden ein Programm aus. Wir können es mit -n auf ein bestimmtes Intervall ändern, zum Beispiel 5 Sekunden Parameter.

Lassen Sie uns die Speicherplatznutzung des Dateisystems alle 5 Sekunden anzeigen.

$ watch -n 5 df -h

Beispielausgabe:

Every 5.0s: df -h sk: Wed May 9 20:19:09 2018

Filesystem Size Used Avail Use% Mounted on
dev 3.9G 0 3.9G 0% /dev
run 3.9G 1.1M 3.9G 1% /run
/dev/sda2 457G 357G 77G 83% /
tmpfs 3.9G 32M 3.9G 1% /dev/shm
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 3.9G 36K 3.9G 1% /tmp
/dev/loop0 83M 83M 0 100% /var/lib/snapd/snap/core/4327
/dev/sda1 93M 55M 32M 64% /boot
tmpfs 789M 28K 789M 1% /run/user/1000

Um zu überprüfen, ob dieser Befehl wirklich funktioniert, erstellen oder löschen Sie eine beliebige Datei/einen Ordner. Sie werden feststellen, dass sich der freie Speicherplatz in der Ausgabe nach dem Erstellen oder Löschen der Dateien/Ordner geändert hat.

Beispiel 3:

Um den Inhalt eines Verzeichniswechsels zu beobachten, führen Sie Folgendes aus:

$ watch -d ls -l

Hier das -d oder --differences Flag hebt die Unterschiede zwischen aufeinanderfolgenden Updates hervor.

Beispielausgabe:

total 3857440
-rw------- 1 sk users 1921843200 Apr 25 22:47 bionic-desktop-amd64.iso
-rw------- 1 sk users 1921843200 Apr 25 03:02 bionic-desktop-amd64.iso.zs-old
drwxr-xr-x 2 sk users 12288 May 8 18:45 Desktop
drwxr-xr-x 2 sk users 4096 Apr 20 16:54 Documents
drwxr-xr-x 11 sk users 4096 May 9 19:56 Downloads
drwxr-xr-x 2 sk users 4096 Jan 7 2017 Music
drwxr-xr-x 5 sk users 12288 Mar 23 17:34 Pictures
drwxr-xr-x 2 sk users 4096 May 11 2016 Public

Außerdem können Sie den Inhalt einer Verzeichnisänderung anzeigen, die einem bestimmten Benutzer gehört (z. B. sk ).

$ watch -d 'ls -l | fgrep sk'

Dies kann in Mehrbenutzersystemen nützlich sein.

Beispiel 4:

Um die Speicherdetails anzuzeigen, führen Sie Folgendes aus:

$ watch -d free -m

Beispiel 5:

Um die Ausgabe von du anzuzeigen Befehl alle 10 Sekunden, können Sie verwenden:

$ watch -n 10 du -h

Beispielausgabe:

Every 10.0s: du -h                                                                                                                              sk: Wed May 9 20:26:43 2018
17M     ./.disruptive innovations sarl/bluegriffon/q87d9o6v.default/extensions
16K     ./.dooble/Dooble
4.0K    ./.dooble/Histories
176K    ./.dooble
4.0K    ./.PlayOnLinux/wine/mono
13M     ./.PlayOnLinux/wine/gecko
4.0K    ./.PlayOnLinux/wine/linux-amd64
652K    ./.PlayOnLinux/wine/linux-x86/1.3.19/share/wine/fonts
872K    ./.PlayOnLinux/wine/linux-x86/1.3.19/share/wine

Dadurch wird die Festplattennutzung alle 10 Sekunden überwacht, bis Sie sie manuell beenden.

Für weitere Details empfehle ich Ihnen, auf Manpages zu verweisen.

$ man watch

Führe einen Linux-Befehl für immer alle X Sekunden mit While-Schleife aus

Sie können dies auch mit Hilfe von While tun Schleife.

Um einen Befehl dauerhaft alle 2 Sekunden zu wiederholen, führen Sie Folgendes aus:

$ while sleep 2 ; do uptime ; done

Beispielausgabe:

21:10:21 up 10:12,  1 user,  load average: 0.83, 0.71, 0.59
21:10:23 up 10:12,  1 user,  load average: 0.76, 0.70, 0.59
21:10:25 up 10:12,  1 user,  load average: 0.76, 0.70, 0.59
21:10:27 up 10:12,  1 user,  load average: 0.70, 0.68, 0.58
[...]

Schlussfolgerung

Sie wissen jetzt, wie Sie mit Watch alle X Sekunden einen Befehl ausführen Befehl. Im Allgemeinen Beobachten Der Befehl wird zum Überwachen der Festplatten- und Speichernutzung verwendet. Bitte verwechseln Sie diesen Befehl nicht mit anderen Überwachungstools. Dieser Befehl soll für immer jede Sekunde einen Befehl ausführen, bis Sie ihn manuell stoppen.

Verwandte Lektüre:

  • Wie man einen Befehl unter Linux wiederholt, bis er erfolgreich ist

Linux
  1. So führen Sie einen Linux-Befehl für immer alle X Sekunden aus oder wiederholen ihn

  2. Wiederholen Sie einen Unix-Befehl alle X Sekunden für immer?

  3. Watch:Unix-Befehle oder Shell-Skripte alle N Sekunden wiederholen

  4. So protokollieren Sie jeden Shell-Befehl in Linux

  5. Wie kann man das Bash-Skript alle N Sekunden wiederholt ausführen?

So führen Sie einen Befehl für eine bestimmte Zeit in Linux aus

So führen Sie einen Befehl regelmäßig unter Linux mit Watch aus

So führen Sie mehrere Linux-Befehle in einem einzigen Befehl aus

So führen Sie mehrere Linux-Befehle gleichzeitig im Linux-Terminal aus

Verwenden des Watch-Befehls unter Linux

Wie kann ich unter Linux meinen Webcam-Feed ansehen?