OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

Darüber hinaus basiert Linux auf UNIX, wo es üblich war, dass mehrere Benutzer mehrere Befehle gleichzeitig und auf demselben System ausführen. Es ist offensichtlich, dass Maßnahmen ergriffen werden müssen, damit die CPU alle diese Prozesse verwalten kann, und dass Funktionalität bereitgestellt werden muss, damit Benutzer zwischen Prozessen wechseln können. In einigen Fällen müssen Prozesse auch dann weiter ausgeführt werden, wenn sich der Benutzer, der sie gestartet hat, abmeldet. Und Benutzer benötigen eine Möglichkeit, unterbrochene Prozesse wieder zu aktivieren.


In den nächsten Abschnitten erklären wir den Aufbau von Linux-Prozessen.


Image

4.1.2. Prozesstypen


4.1.2.1. Interaktive Prozesse


Interaktive Prozesse werden über eine Terminalsitzung initialisiert und gesteuert. Mit anderen Worten: Es muss jemand mit dem System verbunden sein, um diese Prozesse zu starten. sie werden im Rahmen der Systemfunktionen nicht automatisch gestartet. Diese Prozesse können im Vordergrund ausgeführt werden und das Terminal belegen, das das Programm gestartet hat. Sie können keine anderen Anwendungen starten, solange dieser Prozess im Vordergrund ausgeführt wird. Alternativ können sie im Hintergrund laufen, sodass das Terminal, in dem Sie das Programm gestartet haben, neue Befehle annehmen kann, während das Programm läuft. Bisher haben wir uns hauptsächlich auf Programme konzentriert, die im Vordergrund ausgeführt wurden – die Zeit, die für deren Ausführung benötigt wurde, war zu kurz, um es zu bemerken –, aber das Anzeigen einer Datei mit dem weniger Der Befehl ist ein gutes Beispiel für einen Befehl, der die Terminalsitzung belegt. In diesem Fall wartet das aktivierte Programm darauf, dass Sie etwas tun. Das Programm ist weiterhin mit dem Terminal verbunden, von dem aus es gestartet wurde, und das Terminal dient nur zur Eingabe von Befehlen, die dieses Programm verstehen kann. Andere Befehle führen lediglich zu Fehlern oder


mangelnde Reaktionsfähigkeit des Systems.


Während ein Prozess im Hintergrund läuft, wird der Benutzer jedoch nicht daran gehindert, andere Dinge in dem Terminal zu tun, in dem er das Programm gestartet hat, während es läuft.


Die Shell bietet eine Funktion namens Jobkontrolle was eine einfache Handhabung mehrerer Prozesse ermöglicht. Dieser Mechanismus schaltet Prozesse zwischen Vordergrund und Hintergrund um. Mit diesem System können Programme auch sofort im Hintergrund gestartet werden.


Image

Das Ausführen eines Prozesses im Hintergrund ist nur für Programme sinnvoll, die keine Benutzereingaben (über die Shell) benötigen. Das Verschieben eines Jobs in den Hintergrund erfolgt in der Regel dann, wenn die Ausführung eines Jobs voraussichtlich lange dauern wird. Um das ausstellende Terminal nach Eingabe des Befehls freizugeben, wird ein kaufmännisches Und-Zeichen am Ende hinzugefügt. Im Beispiel öffnen wir im grafischen Modus ein zusätzliches Terminalfenster aus dem vorhandenen:


billy:~> xterm &

[1] 26558


billy:~> Jobs & Karriere

[1]+ Laufen

xterm &

billy:~> xterm &

[1] 26558


billy:~> Jobs & Karriere

[1]+ Laufen

Die vollständigen Funktionen zur Jobsteuerung werden im Detail erläutert bash Infoseiten, daher sind hier nur die häufig genutzten Jobsteuerungsanwendungen aufgeführt:


Tabelle 4-1. Prozesse steuern


(Teil des) Befehls

Bedeutung

regulärer_Befehl

Führt diesen Befehl im Vordergrund aus.

Befehl &

Führen Sie diesen Befehl im Hintergrund aus (lassen Sie das Terminal frei)

Jobs & Karriere

Befehle anzeigen, die im Hintergrund ausgeführt werden.

Ctrl+Z

Einen im Vordergrund laufenden Prozess anhalten (anhalten, aber nicht beenden) (suspendieren).

Ctrl+C

Einen im Vordergrund laufenden Prozess unterbrechen (beenden und beenden).


%n

Jedem im Hintergrund laufenden Prozess wird eine Nummer zugewiesen. Mithilfe des %-Ausdrucks kann beispielsweise auf einen Job anhand seiner Nummer verwiesen werden fg %2.

bg

Reaktivieren Sie ein angehaltenes Programm im Hintergrund.

fg

Stellt den Job wieder in den Vordergrund.

töten

Beenden Sie einen Prozess (siehe auch Shell-eingebaute Befehle auf den Infoseiten von bash)

Weitere praktische Beispiele finden Sie in den Übungen.


Die meisten UNIX-Systeme dürften lauffähig sein Bildschirm, was nützlich ist, wenn Sie tatsächlich möchten, dass eine andere Shell Befehle ausführt. Beim Anruf Bildschirmwird eine neue Sitzung mit einer zugehörigen Shell und/oder den angegebenen Befehlen erstellt, die Sie dann aus dem Weg räumen können. In dieser neuen Sitzung können Sie tun, was immer Sie möchten. Alle Programme und Vorgänge werden unabhängig von der ausstellenden Shell ausgeführt. Sie können diese Sitzung dann trennen, während die Programme, die Sie darin gestartet haben, weiterhin ausgeführt werden, selbst wenn Sie sich von der ursprünglichen Shell abmelden und Ihre auswählen Bildschirm jederzeit wieder aufrufen.


Dieses Programm stammt aus einer Zeit, als virtuelle Konsolen noch nicht erfunden waren und alles über ein Textterminal erledigt werden musste. Für Süchtige hat es unter Linux immer noch eine Bedeutung, auch wenn wir seit fast zehn Jahren virtuelle Konsolen haben.


Image


4.1.2.2. Automatische Prozesse


Automatische oder Batch-Prozesse sind nicht an ein Terminal angeschlossen. Vielmehr handelt es sich dabei um Aufgaben, die in einen Spoolerbereich eingereiht werden können, wo sie auf der FIFO-Basis (First-In, First-Out) auf ihre Ausführung warten. Solche Aufgaben können nach einem von zwei Kriterien ausgeführt werden:


Zu einem bestimmten Datum und zu einer bestimmten Uhrzeit: Fertig mit der at Befehl, den wir im zweiten Teil dieses Kapitels besprechen werden.

In Zeiten, in denen die Gesamtsystemlast niedrig genug ist, um zusätzliche Aufgaben anzunehmen: Erledigt mit der Portion Befehl. Standardmäßig werden Aufgaben in eine Warteschlange gestellt, wo sie auf ihre Ausführung warten, bis die Systemlast unter 0.8 sinkt. In großen Umgebungen bevorzugt der Systemadministrator möglicherweise die Stapelverarbeitung, wenn große Datenmengen verarbeitet werden müssen oder wenn Aufgaben, die viele Systemressourcen beanspruchen, auf einem bereits ausgelasteten System ausgeführt werden müssen. Die Stapelverarbeitung wird auch zur Optimierung der Systemleistung eingesetzt.


Image

4.1.2.3. Dämonen


Top OS Cloud Computing bei OnWorks: