2. Login Prozeß, Prozeßzusammenhänge, Dokumentation
Übersicht:
2.1 Login Prozeß
2.2 Prozeßzusammenhänge
2.3 Rückgabewert
2.4 Signale
2.5 Job Control
2.6 Dokumentation
2.6.1 Manpages: Schreibweise
2.6.2 Manpage Sections
2.6.3 Alternativen
2.1 Login Prozeß
Zusammenspiel zwischen getty, login & shell (fork chain);
/etc/passwd und /etc/group; evtl Prozeßgruppen/Process
Leader/Pipes; kein nsswitch (später).
(Legende:
gruen = Ausgabe,
rot = Dateien,
blau = Prozesse)
2.2 Prozeßzusammenhänge
Allgemeines Schema für Prozeßstart am Beispiel der Shell (fork
& wait):
2.3 Rückgabewert
Beim Programmende kann ein Programm einen Zahlenwert an das
aufrufende Programm zurückgeben, z.B. via "return" in main() oder
via exit(3).
Der Rückgabewert (englisch: Return code) wird beim Prozessende an
den Elternprozess weitergegeben, falls dieser mit wait(2) auf das
Ende seines Kindprozesses wartet. Er kann anschliessend den Wert
auswerten (-> Shell-Programmierung!):
% date ; echo $?
Mon Mar 12 15:36:20 CET 2007
0
% ls /foo ; echo $?
ls: /foo: No such file or directory
1
2.4 Signale
- Befehle: kill -l, kill, kill -15, kill -9, pgrep, pkill
- Prozess beenden mit ps(1) und kill(1):
$ xclock &
$ ps -elf | grep xclock
feyrer 26034 3.0 1.6 668 3220 ttyp4 S 3:58PM 0:00.31 xclock
$ kill 26034
- Prozeß alternativ beenden mit pgrep(1) und pkill(1) - nicht
überall vorhanden:
$ xclock &
$ pgrep xclock
18720
$ pgrep -lf xclock
18720 xclock
$ pkill xclock
[1] + Terminated xclock
$
- Signale auflisten:
rfhpc8317% kill -l
HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM USR1 USR2
CLD PWR WINCH URG POLL STOP TSTP CONT TTIN TTOU VTALRM PROF XCPU XFSZ WAITING
LWP FREEZE THAW LOST RTMIN RTMIN+1 RTMIN+2 RTMIN+3 RTMAX-3 RTMAX-2 RTMAX-1
RTMAX
- SIGTERM (15): Kann abgefangen werden, für Aufräumarbeiten; Default
- SIGKILL (9): Kann nicht abgefangen werden, beendet Prozeß
sofort. Vorsicht!
2.5 Job Control
Job Control: ^Z, bg, fg, jobs -l, SIGTSTP, SIGCONT
rfhpc8317% xclock
^Z
Suspended
rfhpc8317% jobs -l
[1] + 26226 Suspended xclock
rfhpc8317% bg %1
[1] xclock &
rfhpc8317% date
Fri Mar 22 12:36:22 MET 2002
rfhpc8317% fg
xclock
^C
rfhpc8317% xclock &
[1] 26230
rfhpc8317%
2.6 Dokumentation
2.6.1 Manpages: Schreibweise
Das Unix-Handbuch ist in mehrere Kapitel ("sections") unterteilt, die
jeweils aus einzelnen Manual-Pages bestehen und
verschiedene Aspekte behandeln, siehe "Manpage Sections" unten.
Allgemeine Schreibweise der Manual-Pages: befehl(section)
z.B.: ls(1), printf(1), fork(2),
printf(3), ...
2.6.2 Manpage Sections
Das Unix-Manual ist in mehrere Kapitel unterteilt. Die genaue
Aufteilung und der man(1)-Befehl ist je nach System etwas
unterschiedlich zwischen BSD und SystemV, die Kapitel 1, 2, 3 und 6
sind jedoch bei beiden gleich:
- BSD:
-
- 1: general commands (tools and utilities)
- 2: system (kernel) calls
- 3: the C libraries
- 4: special files and hardware support
- 5: file formats
- 6: online games
- 7: miscellaneous information pages
- 8: system maintenance and operation commands
- 9: kernel internals
Usage: man <section> <keyword>
z.B.: man 3 printf
- System V:
-
- 1: commands and application programs
- 1m: maintenance commands and application programs
- 2: system calls
- 3: functions and libraries
- 4: file formats
- 5: miscellany
- 6: games and demos
- 7: special files
- 8: -
- 9: device driver interfaces
- 9e: device driver entry points
- 9f: DDI/DKI functions
- 9s: kernel data structures
Usage: man -s <section> <keyword>
z.B. man -s 3C printf
- Beide:
-
Auflisten verwandter Manpages zu einem Thema:
apropos thema
man -k thema
2.6.3 Alternativen
Anstatt Dokumentation im klassischen Manpage-Format liefern viele
Pakete Dokumentation in anderen Formen, z.B. Text- oder
HTML-Dateien. Ein im GNU-Umfeld verbreitetes Format ist das texinfo
Format:
% info gcc
Literatur
- [Stevens-APUE],
S. 145ff (System Data files),
S. 161ff (Environment of a Unix process),
S. 187ff (Process Control),
S. 237ff (Process relationship),
S. 263ff (Signals),
S. 325ff (Terminal IO)
- [Kernighan-Pike],
S. 2ff (Logging in),
S. 11ff (Das Benutzerhandbuch),
S. 307ff (Dokumentation)
- [Nemeth],
S. 93ff (Serial devices)
- [Frisch],
S. 20ff (The UNIX Way),
S. 298ff (Terminals and Modems)
- [Handschuch],
S. 131ff (Terminaladministration)
- [Raymond],
S. 417ff (Documentation)
(Übungen)
(c) Copyright 1998-2007 Hubert Feyrer <hubert@feyrer.de>
$Id: 02-login.html,v 1.18 2007/03/12 15:26:00 feyrer Exp $