Für Systemadministratoren, die für die Steuerung von Linux-Servern verantwortlich sind, ist die Ressourcenverwaltung eine wichtige Aufgabe. Manchmal beanspruchen Linux-Befehle einen großen Teil der Systemressourcen und müssen gestoppt werden.
Glücklicherweise können Sie die Laufzeit Ihrer Befehle mit Dienstprogrammen wie begrenzen Zeitlimit. In diesem Artikel wird erläutert, warum Sie Ihren Befehlen Zeitlimits hinzufügen sollten und wie Sie mithilfe von Befehlen wie Zeitlimit und Zeitlimit eine Zeitbeschränkung hinzufügen können.
Warum die Laufzeit eines Befehls begrenzen?
Es gibt mehrere Gründe, warum Sie Ihre Befehle möglicherweise zeitlich begrenzt ausführen müssen. Erstens führen Sie möglicherweise einen älteren Computer oder Server aus und möchten nicht, dass Ihr System seine Ressourcen für unerwünschte Verarbeitung verschwendet.
Zweitens werden zeitgebundene Aufgaben wie Dateiübertragungen nach einer bestimmten Zeit beendet, aber ihre Prozesse werden nicht sofort gestoppt. Um zu verhindern, dass das Programm zusätzliche CPU-Zeit und Speicher benötigt, können Sie ein Limit hinzufügen, das den Prozess nach Abschluss der Übertragung stoppt.
Limit hinzufügen mit dem Timeout-Befehl
Der Befehl timeout ist die erste Wahl vieler Linux-Benutzer, um ihren Befehlen eine zeitliche Beschränkung hinzuzufügen. Da dieses Tool ein Teil der GNU Core Utilities Paket, es ist auf fast jeder Linux-Distribution vorinstalliert.
Die grundlegende Syntax des Timeout-Befehls lautet:
Timeout-Limit-Befehl
...wo Grenze ist die Zeit, die der Befehl für und ausgeführt werden soll Befehl ist der Linux-Befehl, den Sie mit einem Zeitlimit ausführen möchten.
Zum Beispiel, wenn Sie Prozessdetails mit dem abrufen möchten oben Befehl für 10 Sekunden:
Timeout 10s oben
Der Befehl top endet nie und Sie müssen ihn manuell mit beenden Strg + C.. Der oben genannte Befehl wird 10 Sekunden lang oben ausgeführt. Sobald der Timer abgelaufen ist, stoppt das Timeout seine Ausführung. Beachten Sie, dass das Timeout dauert Sekunden als Standardzeiteinheit, was bedeutet 10 und 10s sind gleich.
Sie können auch verwenden m, h, und d zum Protokoll, Std, und Tage beziehungsweise.
Manuelles Senden von Kill-Signalen mit Zeitüberschreitung
Standardmäßig sendet der Timeout-Befehl SIGTERM als Kill-Signal. SIGTERM steht für Signal beenden, Dadurch wird der Prozess sofort beendet.
Sie können auch andere Signale mit dem senden -s Flagge. So senden Sie beispielsweise das SIGKILL-Signal:
Timeout -s SIGKILL 10 oben
Die Angabe des Signals mit seiner Signalnummer ist ebenfalls möglich. Der folgende Befehl sendet das SIGKILL-Signal ebenfalls an den obersten Befehl.
Timeout -s 9 10 oben
...wo 9 ist die Signalnummer für SIGKILL.
So erhalten Sie eine Liste aller verfügbaren Signale:
töte -l
Einige Befehle werden auch nach dem Hinzufügen eines Zeitlimits nicht vollständig beendet. In solchen Situationen wird das Problem durch Hinzufügen eines Kill-Signals mit dem Standard-Timeout-Befehl behoben.
Timeout -k 15 10 oben
Der oben genannte Befehl führt zuerst den obersten Befehl 10 Sekunden lang aus. Wenn der Befehl nicht stoppt, sendet er nach 15 Sekunden ein Kill-Signal an den Prozess.
Erfahren Sie mehr: So beenden Sie nicht reagierende Programme unter Linux
Einschränken der Befehlslaufzeit Mit Zeitlimit
Im Gegensatz zum Befehl timeout gehört timelimit nicht zu den Standardpaketen, die in Linux-Distributionen vorinstalliert sind. Daher müssen Sie timelimit manuell auf Ihrem System installieren.
So installieren Sie auf Debian-basierten Distributionen:
sudo apt install timelimit
Timelimit ist in den offiziellen Arch-Repositories nicht verfügbar. Sie können es jedoch mit einem AUR-Paketmanager wie installieren Yay.
sudo yay -S Zeitlimit
Verbunden: So installieren Sie Pakete unter Arch Linux
So installieren Sie auf Fedora:
sudo dnf installiere timelimit
Auf RHEL und CentOS:
sudo yum install timelimit
Wenn Sie das Paket alternativ immer noch nicht auf Ihrem System installieren können, laden Sie den Quellcode von der offiziellen Website herunter und installieren Sie ihn manuell.
Herunterladen: Zeitlimit
So führen Sie den Befehl top 10 Sekunden lang mit timelimit aus:
Zeitlimit -t10 oben
Timelimit akzeptiert mehrere Argumente wie warntime, warnsig, Killtime, und Killsig. Wenn der Benutzer diese Argumente nicht angibt, werden die Standardwerte verwendet warntime = 3600 Sekunden, warnsig = 15, Killtime = 120, und Killsig = 9.
Verwalten der Lebensdauer eines Befehls unter Linux
Das Überwachen der Befehle und das Übernehmen der Kontrolle über die Prozesse wird wichtig, wenn Ihr Linux-Computer über begrenzte Ressourcen verfügt. Dienstprogramme wie Timeout und Timelimit sind ein Lebensretter, da Sie Ihren Befehlen Zeitbeschränkungen hinzufügen können.
Wie bei der Befehlslaufzeit können Sie auch die Bildschirmzeit Ihres Systems einschränken. Wenn Sie ein Elternteil sind, der nicht möchte, dass Ihr Kind unnötige Zeit vor einem Computer verschwendet, ist die Begrenzung der Bildschirmzeit die am besten geeignete Wahl.
Kindersicherungssoftware ist unter Linux so gut wie unbekannt. Hier finden Sie verschiedene Möglichkeiten, wie Sie Websites blockieren und Inhalte unter Linux verwalten können.
Weiter lesen
- Linux
- Linux
Deepesh ist der Junior Editor für Linux bei MUO. Er schreibt seit über 3 Jahren Informationsinhalte im Internet. In seiner Freizeit schreibt er gerne, hört Musik und spielt Gitarre.
Abonnieren Sie unseren Newsletter
Melden Sie sich für unseren Newsletter an, um technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote zu erhalten!
Noch ein Schritt…!
Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.