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

30 Übungen zu Linux-Prozessen für Systemadministratoren

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?
Erweitern Sie MeUm alle Prozesse als Prozessbaum anzuzeigen, müssen Sie den Befehl „pstree“ verwenden.

Hintergrund- und Vordergrundprozesse

  • Frage 8 :Welche Syntax wird unter Linux verwendet, um einen Prozess im Hintergrund auszuführen?
Expand MeUm einen Prozess im Hintergrund auszuführen, müssen Sie am Ende des Befehls ein „&“-Zeichen anhängen.
  • Frage 9 :Was ist der Begriff, der einen Prozess beschreibt, der in einer Terminal-Shell gestartet wurde?
Erweitern MeEin in einer Shell ausgeführter Prozess wird als „Job“ bezeichnet, und der Befehl jobs zeigt Ihre aktuellen Shell-Jobs an.
  • 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?
Expand MeUm ein SIGINT an ein Signal im Vordergrund zu senden, müssten Sie Strg + C drücken.

Signale &Prozesse

  • Frage 14 :Wie würden Sie ein Signal definieren, wenn es um Prozesse geht?
Erweitern Sie MeOn Linux, Signale sind eine Form der Interprozesskommunikation (auch IPC genannt), die asynchrone Benachrichtigungen über das Auftreten eines bestimmten Ereignisses erstellt und an laufende Prozesse sendet. Signale können informativ sein (z. B. SIGUSR1, SIGUSR2) oder sie können verwendet werden, um dem Prozess einen bestimmten Befehl zu übermitteln (Unterbrechung, Stopp, Abbruch)
  • Frage 15 :Welches Signal wird unter Linux verwendet, um einen Prozess sanft herunterzufahren?
Erweitern Sie MeTo um einen Prozess ordnungsgemäß herunterzufahren, müssen Sie das SIGTERM-Signal (auch bekannt als Signalnummer 15)
    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?
Erweitern Sie MeUm einen Prozess zu beenden, ohne ihm die Möglichkeit zu geben, sich ordnungsgemäß zu beenden, müssen Sie ein SIGKILL-Signal (auch bekannt als Signal 9)
    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?
Erweitern Sie MeUm zu verhindern, dass ein Prozess mit einem SIGHUP-Signal beendet wird, können Sie den Befehl „nohup“ folgendermaßen verwenden:„nohup ./script &“
  • Frage 19 :Können Sie spontan andere Signale bereitstellen, die auf Linux-Systemen verwendet werden?
Erweitern Sie MeSIGQUIT ein Signal, das aufgerufen wird, wenn Sie eine interaktive Sitzung verlassen. Es kann beispielsweise in Terminal-Shells oder in SSH-Sitzungen verwendet werden. SIGCONT ist ein Signal, das verwendet wird, um einen gestoppten Prozess fortzusetzen (nach einem SIGSTOP)

Erweiterte Prozesse-Befehle

  • Frage 20 :Welcher Befehl wird unter Linux verwendet, um alle Prozesse mit einem bestimmten Muster aufzulisten?
Erweitern Sie die MeTo-Suche nach Prozessen mit einem bestimmten Muster, können Sie den „pgrep“-Befehl mit der folgenden Syntax „pgrep verwenden
  • Frage 21 :Welchen Befehl würden Sie verwenden, um alle Prozesse, die mit „fire“ beginnen, einfach zu beenden (SIGKILL)?
Erweitern Sie MeUm alle Prozesse zu beenden, die mit „fire“ beginnen, würden Sie „pkill fire*“
    ausführen
  • Frage 22 :Welcher Befehl wird unter Linux verwendet, um einen Prozess mit einer benutzerdefinierten Prioritätsstufe auszuführen?
Expand Me„Nice“ ist der Befehl, der verwendet wird, um einen Befehl mit einer benutzerdefinierten Priorität auszuführen, damit er mehr oder weniger CPU-Ressourcen verwendet.
  • Frage 23 :Ein Prozess hat ein angenehmes Level von 19, wird er so viele Ressourcen wie möglich verbrauchen?
Erweitern Sie MeNo, je schöner der Prozess, desto eher sind Sie bereit, Ressourcen mit anderen zu teilen. Folglich hat der Prozess eine sehr niedrige Prioritätsstufe.
  • Frage 24 :Was ist das Standard-Nice-Level, wenn Prozesse unter Linux erstellt werden?
Expand MeStandardmäßig werden Prozesse mit einem netten Level von 0 erstellt.
  • Frage 25 :Können Sie als Nicht-Sudo-Benutzer einen Prozess mit einem netten Level von -5 erstellen?
Erweitern Sie MeNein, Nicht-Sudo-Benutzer können keine Prozesse mit einem Nice-Level erstellen, der niedriger als der zugewiesene Standardwert ist. Darüber hinaus können Sie, wenn Sie einen Prozess mit einem benutzerdefinierten Nice-Level erstellt haben, dieses nicht senken, selbst wenn es größer als Null ist.
  • Frage 26 :Welcher Befehl kann verwendet werden, um die Priorität eines laufenden Prozesses unter Linux festzulegen?
Erweitern Sie MeUm die Priorität eines laufenden Prozesses anzupassen, müssen Sie den „renice“-Befehl mit dieser Syntax „renice -n verwenden

Überwachungsprozesse

  • Frage 27 :Welcher Befehl kann unter Linux verwendet werden, um Prozesse in Echtzeit zu überwachen?
Erweitern Sie Me Um von Prozessen verwendete Ressourcen zu überwachen, können Sie den Befehl „top“ oder den Befehl „htop“ für eine freundlichere Anzeige verwenden.
  • Frage 28 :Welche Tastenkombination kann im obersten Befehl verwendet werden, um die Aktualisierungsrate zu ändern?
Erweitern Sie MeUm die Aktualisierungsrate zu ändern, können Sie die Taste „d“ drücken und sie beispielsweise auf 1,0 setzen.
  • Frage 29 :Welche Option kann verwendet werden, um den obersten Befehl für eine benutzerdefinierte Anzahl von Iterationen auszuführen?
Erweitern Sie MeUm „top“ für eine bestimmte Anzahl von Iterationen auszuführen, können Sie „top –n verwenden
  • Frage 30 :Kennen Sie andere Lösungen, um Linux-Prozesse effektiv zu überwachen?
Erweitern Sie MeUm Linux-Systeme zu überwachen, kann ein Systemadministrator Cockpit, Grafana, Prometheus, Nagios oder Telegraf verwenden.

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.


Linux
  1. 12 IP-Befehlsbeispiele für Linux-Benutzer

  2. 20 ps-Befehlsbeispiele zur Überwachung von Linux-Prozessen

  3. Linux Command Basics:7 Befehle für das Prozessmanagement

  4. Linux-Befehlszeilentipps zur Steigerung der Produktivität

  5. Linux-ps-Befehl

Wie man einen Prozess unter Linux beendet

30 Übungen zu Linux-Berechtigungen für Systemadministratoren

Linux Netstat Command Tutorial für SysAdmins [40 Beispiele]

40 Nützliche Beispiele für Linux-PS-Befehle für angehende SysAdmins

Befehle für das Prozessmanagement in Linux

UNIX / Linux:7 praktische Beispiele für PS-Befehle zur Prozessüberwachung