Dies ist die Reihe von Übungen im Anschluss an den Artikel über die Erklärung von Linux-Prozessen.
Wenn Sie den Artikel sorgfältig gelesen und die darin beschriebenen Prinzipien verstanden haben, sollten Sie in der Lage sein, die meisten Fragen zu beantworten.
Sollten Sie Fehler oder Ungenauigkeiten finden, können Sie gerne einen Kommentar hinterlassen.
Viel Glück!
Prozessgrundlagen
- Frage 1 :Auf Ihrem Linux-Host laufen viele Prozesse gleichzeitig. Eine Information kann jedoch einen Prozess eindeutig identifizieren.
Wie heißt es?
Erweitern Sie MeOn Linux, ein Prozess kann eindeutig durch eine PID (oder Prozess-ID) identifiziert werden, die nicht zwei verschiedenen Prozessen gleichzeitig zugewiesen werden kann.- Frage 2 :Wenn Ihr System hochfährt, startet es den allerersten Prozess auf Ihrer Instanz.
Wie heißt es?
Expand MeIt wird als Init-Prozess bezeichnet und wird verwendet, um Initialisierungsskripte für Netzwerke, Jobs oder Module auszuführen. Bei neueren Distributionen wurde es durch einen systemd-Prozess ersetzt.- Frage 3 :Sie haben derzeit ein Shell-Terminal auf Ihrem Host geöffnet und führen den folgenden Befehl aus.
Welche Systemaufrufe werden intern aufgerufen, um einen solchen Befehl auszuführen?
Erweitern Sie MeFirst, der Kernel wird den aktuellen Prozess (d.h. den Bash-Interpreter) in einen neuen Prozess forken. Als nächstes wird das Bild des Bash-Prozesses durch das geladene Bild des ls-Programms ersetzt. Abschließend wird der Befehl ausgeführt.- Frage 4 :Sie öffnen ein Shell-Terminal auf Ihrem Host, indem Sie auf „Terminal“ klicken.
Beschreiben Sie kurz, wie das Terminal funktioniert .
Expand MeDas Terminal ist ein einfacher interaktiver Prozess, der ständig auf Benutzereingaben wartet. Wenn ein Befehl ausgegeben wird, wird der Befehl ausgeführt, indem in einen neuen Prozess verzweigt und der Befehl darin ausgeführt wird. In der Zwischenzeit wartet der Elternprozess (d. h. das Terminal selbst) auf die Beendigung des Kindprozesses. Wenn es fertig ist, wird der übergeordnete Prozess fortgesetzt.Verarbeitet Befehle
- Frage 5 :Sie werden von Ihrem Systemadministrator aufgefordert, alle Prozesse zu identifizieren, die Sie auf dem Host besitzen.
Welchen Befehl würden Sie dafür ausführen?
Expand MeAm einfachsten geht das, indem Sie den Befehl ps ausführen. Standardmäßig werden keine tty-Geräte gemeldet, aber Sie können „ps u“ ausführen, um alle Prozesse anzuzeigen.- Frage 6 :Sie werden von Ihrem Systemadministrator aufgefordert, alle Prozesse auf Ihrem System zu identifizieren.
Können Sie zwei Befehle bereitstellen, die alle Prozesse auf dem Host anzeigen?
Erweitern Sie MeUm alle Prozesse unter Linux anzuzeigen, können Sie entweder „ps aux“ (eine BSD-Syntax) oder „ps -ef“ (eine POSIX-Syntax)- verwenden
- Frage 7 :Welcher Befehl zeigt Prozesse als Baum unter Linux an?
Hintergrund- und Vordergrundprozesse
- Frage 8 :Welche Syntax wird unter Linux verwendet, um einen Prozess im Hintergrund auszuführen?
- Frage 9 :Was ist der Begriff, der einen Prozess beschreibt, der in einer Terminal-Shell gestartet wurde?
- Frage 10 :Sie haben einen Befehl im Hintergrund ausgeführt, möchten aber, dass Ihr Prozess im Vordergrund ausgeführt wird.
Welchen Befehl würden Sie ausführen?
Expand MeDie Job-ID ist 1, also würden Sie „fg %1“- ausführen
- Frage 11 :Ihr Prozess wird jetzt im Vordergrund ausgeführt .
Welche Bedienelemente würden Sie auf Ihrer Tastatur drücken, um den Prozess zu stoppen (und ihn nicht zu beenden)?
Expand MeUm einen Prozess zu stoppen oder ein SIGSTOP-Signal an einen Prozess zu senden, müssen Sie Strg + Z.- drücken
- Frage 12 :Ihr Prozess wird jetzt unterbrochen.
Wie würden Sie die Ausführung im Hintergrund fortsetzen?
Expand MeUm die Ausführung fortzusetzen, können Sie den Befehl „bg %1“ ausführen.- Frage 13 :Welche Tasten können Sie auf Ihrer Tastatur drücken, um ein SIGINT an einen Prozess im Vordergrund zu senden?
Signale &Prozesse
- Frage 14 :Wie würden Sie ein Signal definieren, wenn es um Prozesse geht?
- Frage 15 :Welches Signal wird unter Linux verwendet, um einen Prozess sanft herunterzufahren?
- verwenden
- Frage 16 :Nehmen wir andererseits an, Sie möchten einen Prozess sofort beenden, welches Signal würden Sie dafür verwenden? Welche Nummer hat dieses Signal?
- ausgeben
- Frage 17 :Sie haben den folgenden Befehl in Ihrer Terminal-Shell ausgeführt.
Die Ausführung des Prozesses dauert lange, also entscheiden Sie sich, Ihren Host zu verlassen und Ihr aktuelles Terminal herunterzufahren.
Was ist passiert?
Expand MeAls Sie Ihr Terminal geschlossen haben, wurde ein SIGHUP-Signal an den Prozess gesendet. Daraufhin wurde der Vorgang sofort gestoppt.- Frage 18 :Welche Lösungen können Sie geben, um zu vermeiden, was gerade passiert ist?
- Frage 19 :Können Sie spontan andere Signale bereitstellen, die auf Linux-Systemen verwendet werden?
Erweiterte Prozesse-Befehle
- Frage 20 :Welcher Befehl wird unter Linux verwendet, um alle Prozesse mit einem bestimmten Muster aufzulisten?
- Frage 21 :Welchen Befehl würden Sie verwenden, um alle Prozesse, die mit „fire“ beginnen, einfach zu beenden (SIGKILL)?
- ausführen
- Frage 22 :Welcher Befehl wird unter Linux verwendet, um einen Prozess mit einer benutzerdefinierten Prioritätsstufe auszuführen?
- Frage 23 :Ein Prozess hat ein angenehmes Level von 19, wird er so viele Ressourcen wie möglich verbrauchen?
- Frage 24 :Was ist das Standard-Nice-Level, wenn Prozesse unter Linux erstellt werden?
- Frage 25 :Können Sie als Nicht-Sudo-Benutzer einen Prozess mit einem netten Level von -5 erstellen?
- Frage 26 :Welcher Befehl kann verwendet werden, um die Priorität eines laufenden Prozesses unter Linux festzulegen?
Überwachungsprozesse
- Frage 27 :Welcher Befehl kann unter Linux verwendet werden, um Prozesse in Echtzeit zu überwachen?
- Frage 28 :Welche Tastenkombination kann im obersten Befehl verwendet werden, um die Aktualisierungsrate zu ändern?
- Frage 29 :Welche Option kann verwendet werden, um den obersten Befehl für eine benutzerdefinierte Anzahl von Iterationen auszuführen?
- Frage 30 :Kennen Sie andere Lösungen, um Linux-Prozesse effektiv zu überwachen?
Schlussfolgerung
Mit diesen Übungen zu Linux-Prozessen haben Sie hoffentlich mehr über Prozesse gelernt, wie Sie mit ihnen umgehen und sie effektiv überwachen können.
Willst du mehr Übungen?
- 30 Linux-Berechtigungsübungen für Sysadmins
Wenn Sie sich für die Linux-Systemadministration interessieren, haben wir auf der Website einen eigenen Abschnitt dafür eingerichtet.