So führen Sie einen Befehl zu einem bestimmten Zeitpunkt in Linux aus

So führen Sie einen Befehl zu einem bestimmten Zeitpunkt in Linux aus

Neulich habe ich rsync verwendet, um eine große Datei auf ein anderes System in meinem LAN zu übertragen. Da es sich um eine sehr große Datei handelt, dauert die Fertigstellung etwa 20 Minuten. Ich möchte nicht länger warten und auch nicht STRG+C drücken, um den Vorgang abzubrechen. Ich wollte nur wissen, ob es im Linux-Betriebssystem eine einfache Möglichkeit gibt, einen Befehl für eine bestimmte Zeit auszuführen und ihn automatisch zu beenden, wenn die Zeit abgelaufen ist – daher dieser Beitrag. Bitte lesen Sie weiter.

Führen Sie in Linux einen Befehl zu einem bestimmten Zeitpunkt aus

Wir können dies auf zwei Arten tun.

Methode 1 – Verwenden des Timeout-Befehls

Die gebräuchlichste Methode ist die Verwendung des Timeout-Befehls. Für diejenigen, die es nicht wissen: Der Timeout-Befehl begrenzt effektiv die absolute Ausführungszeit eines Prozesses. Der Timeout-Befehl ist Teil des GNU-Coreutils-Pakets und daher auf allen GNU/Linux-Systemen vorinstalliert.

Angenommen, Sie möchten einen Befehl nur 5 Sekunden lang ausführen und dann beenden. Dazu verwenden wir:

$ timeout <time-limit-interval> <command>

Beispielsweise wird der folgende Befehl nach 10 Sekunden beendet.

$ timeout 10s tail -f /var/log/pacman.log

Sie können das Suffix „s“ nach den Sekunden auch weglassen. Die folgenden Befehle sind dieselben wie oben.

$ timeout 10 tail -f /var/log/pacman.log

Andere mögliche Suffixe sind:

  • m steht für Minuten.
  • h steht für Stunden.
  • d steht für Tag.

Wenn Sie den Befehl tail -f /var/log/pacman.log ausführen, wird er so lange ausgeführt, bis Sie ihn manuell durch Drücken von STRG+C beenden. Wenn Sie es jedoch mit dem Timeout-Befehl ausführen, wird es nach dem angegebenen Zeitintervall automatisch beendet. Wenn der Befehl nach dem Timeout immer noch ausgeführt wird, können Sie wie unten gezeigt ein Kill-Signal senden.

$ timeout -k 20 10 tail -f /var/log/pacman.log

In diesem Fall sendet der Timeout-Befehl, wenn der Tail-Befehl nach 10 Sekunden immer noch ausgeführt wird, nach 20 Sekunden ein Kill-Signal und wird beendet.

Weitere Einzelheiten finden Sie auf der Manpage.

$ man timeout

Manchmal kann die Ausführung eines bestimmten Programms sehr lange dauern und Ihr System einfrieren. In diesem Fall können Sie mit diesem Trick den Vorgang nach einer gewissen Zeit automatisch beenden.

Methode 2 - Verwenden des Zeitlimitprogramms

Zeitlimit Führt den angegebenen Befehl mit den angegebenen Argumenten aus und beendet den Prozess mit dem angegebenen Signal nach der angegebenen Zeit. Zuerst sendet es ein Warnsignal und dann, nach einer Zeitüberschreitung, ein Kill-Signal.

Anders als Timeout hat Timelimit mehr Optionen. Sie können eine Reihe von Argumenten übergeben, beispielsweise „killsig“, „warnsig“, „killtime“, „warntime“ usw. Es ist in den Standard-Repositories von Debian-basierten Systemen verfügbar. Sie können es also mit dem folgenden Befehl installieren:

$ sudo apt-get install timelimit

Für Arch-basierte Systeme ist es in AUR verfügbar. Sie können es also mit jedem AUR-Helfer wie Pacaur, Packer, Yay, Yaourt usw. installieren.

Für andere Distributionen laden Sie bitte hier den Quellcode herunter und installieren Sie ihn manuell. Führen Sie nach der Installation von timelimit den folgenden Befehl aus, um die Ausführung für einen bestimmten Zeitraum, beispielsweise 10 Sekunden, durchzuführen:

$ timelimit -t10 tail -f /var/log/pacman.log

Wenn Sie timelimit ohne Argumente ausführen, werden die Standardwerte verwendet: warntime=3600 Sekunden, warnsig=15 Sekunden, killtime=120 Sekunden, killsig=9. Weitere Einzelheiten finden Sie in den Manpages am Ende dieses Handbuchs und auf der Projektwebsite.

$ man timelimit

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Analysieren Sie die grundlegenden Modulverwaltungs- und Zeitverwaltungsvorgänge des Linux-Kernels
  • So ermitteln Sie die Ausführungszeit eines Befehls oder Prozesses in Linux
  • Detaillierte Erläuterung von 2 Methoden zum Synchronisieren der Netzwerkzeit im Linux/CentOS-System
  • 15 Linux-Befehlsaliase, die Ihnen Zeit sparen
  • Freigabe von Befehlen zur Synchronisierung der Datums- und Uhrzeiteinstellung unter Linux
  • Detaillierte Erläuterung der Zeitsynchronisierungseinstellungen des Linux NTP-Servers
  • Linux-Batch-Befehl zum Löschen von Dateien nach Zeit (Dateien vor N Tagen löschen)
  • Tutorial zum Konfigurieren und Verwenden des i3-Fenstermanagers unter Linux
  • Verwenden Sie die Tools iptables und firewalld, um Verbindungsregeln für die Linux-Firewall zu verwalten
  • 8 Befehle zur effektiven Verwaltung von Prozessen in Linux
  • Hinweise zur Zeitverwaltung des Linux-Kernel-Gerätetreibers

<<:  JavaScript implementiert eine Box, die der Mausbewegung folgt

>>:  Detaillierter Informationsaustausch über das MySQL-Protokollsystem

Artikel empfehlen

Einführung in die Benutzerverwaltung unter Linux-Systemen

Inhaltsverzeichnis 1. Die Bedeutung von Nutzern u...

CSS-Tipps zur Implementierung der Chrome-Tab-Leiste

Dieses Mal schauen wir uns ein Navigationsleisten...

Detaillierte Erklärung des in JavaScript integrierten Date-Objekts

Inhaltsverzeichnis Date-Objekt Erstellen eines Da...

Installationshandbuch für VMware Workstation 15 Pro (für Anfänger)

01. VMware Workstation Pro 15 herunterladen Herun...

Besprechen Sie den Entwicklungstrend der Baidu Encyclopedia UI

<br />Die offizielle Version der Baidu-Enzyk...

Detaillierte Erklärung der Angular-Komponentenprojektion

Inhaltsverzeichnis Überblick 1. Einfaches Beispie...

react+antd.3x implementiert IP-Eingabefeld

In diesem Artikel wird der spezifische Code von r...

Detaillierter Prozess zum Zeichnen dreidimensionaler Pfeillinien mit three.js

Nachfrage: Diese Nachfrage ist ein dringender Bed...

Gemeinsame Nutzung von zwei Plug-Ins zur Übersetzung von Webseiten

Übersetzen Sie diese URL: http://translateth.is G...

Verwenden Sie CSS, um zwischen dem Dunkelmodus und dem Hellmodus zu wechseln

In der fünften Ausgabe von Web Skills wird ausdrü...

MariaDB-Serverinstallation der MySQL-Reihe

Inhaltsverzeichnis Tutorial-Reihe 1. Installieren...

Mehrere gängige Methoden zum Festlegen der Ankerpositionierung in HTML

Mir sind mehrere Möglichkeiten bekannt, die Ankerp...

So verwenden Sie die Vue-Timeline-Komponente

In diesem Artikelbeispiel wird der spezifische Im...