Galileo Computing < openbook >
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung
Galileo Computing - Bücher zur Programmierung und Softwareentwicklung


'Wie werde ich Unix-Guru' als Buch bestellen
A. Willemer
Wie werde ich UNIX-Guru
I  ANWENDUNG
Know-How für Unix/Linux-User: Einführung, Shell, Befehle, Hilfe, Arbeit mit Dateien, Editoren, Reguläre Ausdrücke, nützliche Tools, Hardware.

II  ADMINISTRATION
Tools, Systemstart, Benutzer verwalten, Hardware konfigurieren, Software installieren, Datensicherung, Tuning, Kernel

III  NETZWERK
Client/Server Systeme, TCP/IP, Routing, IPv6, Internet-Dienste, DHCP, Webserver, Firewalls

IV  DAS X-WINDOW SYSTEM
Die grafische Oberfläche von UNIX einrichten und nutzen

V  PROGRAMMIERUNG VON SHELLSKRIPTEN
Automatisieren von Tasks durch Shell-Skripte.

VI  PERL
Interpreter, Syntax, Variablen, Steuerung, Funktionen, UNIX-Aufrufe, GUIs mit Tk

VII  PROGRAMMIERWERKZEUGE
C-Compiler, Analyse-Tools, CVS, yacc, diff

VIII  UNIX-SYSTEMAUFRUFE
UNIX-Befehle in eigenen Programmen nutzen

IX  LITERATUR
Weiterführende Literatur zu UNIX und LINUX

 
Galileo Computing / <openbook> / "Wie werde ich UNIX-Guru ?"
« Synchronisation: wait Prozesse Gemeinsamer Speicher: Shared Memory »

Unterabschnitte
  • Prozessgruppen
  • Sitzung
  • Kontrollterminal
  • Gegenseitige Abhängigkeiten

Prozessumgebung

Die Informationen über Prozessgruppe, Sitzung und Kontrollterminal von Prozessen können Sie sich mit ps anschauen, wenn Sie die Optionen -jx bzw. unter System V -jl angeben. Dabei stehen die wichtigen Informationen unter folgenden Überschriften.

[ps-Überschriften]L|L Kürzel & Bedeutung
PGID & Prozessgruppen ID
SID & Sitzung ID
TTY & Kontrollierendes Terminal
TPGID & Gruppen ID des kontrollierenden Terminal

Prozessgruppen

Jeder Prozess gehört zu einer Prozessgruppe. Die Prozessgruppen-ID ist die Prozess-ID des Prozessgruppenleiters. Eine Prozessgruppe kann beispielsweise durch eine Pipe verbunden sein. Anders ausgedrückt ist eine Prozessgruppe eine Gruppe von Prozessen, die voneinander abhängig sind und in dieser Abhängigkeit zusammengehören. Durch die folgende Kommandosequenz würde man die in der grafischen Übersicht gezeigten Prozessgruppen erzeugen:

gaston> processA | processB &
[1] 2354
gaston> processD | processG | prozessK &
[2] 2356
gaston> processM | processN

Die Prozessgruppe kann mit dem Aufruf getpgrp() ermittelt werden. Mit dem Aufruf getpgid() kann die Prozessgruppe eines anderen Prozesses ermittelt werden, dessen ID als Parameter übergeben wird.

Mit dem Aufruf setpgid() kann einem Prozess eine neue Prozessgruppe zugewiesen werden. Ein Prozess kann setpgid() nur für sich selbst oder einen seiner Kindprozesse aufrufen, solange das Kind noch nicht exec gerufen hat.

#include <unistd.h>
int setpgid(pid_t pid, pid_t pgid);
pid_t getpgid(pid_t pid);
int setpgrp(void);
pid_t getpgrp(void);

Sitzung

Einer Sitzung (engl. session) können ein oder mehrere Prozessgruppen gehören. Mit setsid() wird eine neue Sitzung eröffnet und damit auch eine neue Prozessgruppe.

#include <unistd.h>
pid_t setsid(void);

Eine Sitzung besteht aus einer Vordergrundprozessgruppe und einer beliebigen Zahl von Hintergrundprozessgruppen.

Kontrollterminal

Das Kontrollterminal ist das Terminal oder das Pseudoterminal, von dem aus eine Sitzung ursprünglich gestartet wurde. Sofern ein Prozess noch ein Kontrollterminal hat, ist dieses für ihn jeweils über /dev/tty zu erreichen.

Gegenseitige Abhängigkeiten

Versucht ein Hintergrundprozess in einer Umgebung mit Jobkontrolle vom Terminal zu lesen, wird er suspendiert, bis der Prozess durch die Jobkontrolle explizit in den Vordergrund geholt wird. Existiert keine Jobkontrolle, erhält ein Hintergrundprozess beim Versuch, vom Terminal zu lesen, /dev/null zugewiesen. Da dies immer EOF (End Of File) liefert, wird die Eingabe sofort abgeschlossen.

Die Ausgabe von Hintergrundprozessen ist grundsätzlich zugelassen, kann aber durch das Kommando stty tostop unterbunden werden. Um die Ausgabe wieder zuzulassen, geben Sie das Kommando stty -tostop.



« Synchronisation: wait | Prozesse | Gemeinsamer Speicher: Shared Memory »
 
 Zum Katalog
Zum Katalog
Wie werde ich UNIX-Guru?
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 UNIX/Linux

PHP 4-Workshop

Einstieg in Python

Perl fürs Web

MySQL 4

GNOME 2.0
 Empfehlung

Einstieg in XML
 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
Info

 MyGalileo
Der Service für registrierte Leser:
Zu MyGalileo
Info



Copyright © Galileo Press GmbH 2003
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.
[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de