Skip to content

Latest commit

 

History

History
22 lines (19 loc) · 1.15 KB

README.md

File metadata and controls

22 lines (19 loc) · 1.15 KB

System-Programmierung

Hands-on zu Lektion 5

Für Slides und Code Beispiele, siehe Lektion 5

Achtung: Arbeiten Sie nicht direkt auf diesem Repository.
Prüfen Sie die vorhandenen Forks, um das Repository für Ihre Klasse zu finden.

a) fork(), 15'

  • Schreiben Sie ein Programm my_fork.c, das "forkt".
  • Nutzen Sie die System Calls fork(), exit() und wait().
  • Das Programm soll den folgenden Output ausgeben, mit konkreten Prozess IDs für pid, pid_c und pid_p:
    I'm parent pid of child pid_c
    I'm child pid of parent pid_p

b) Zombie-Prozesse, 15'

  • Schreiben Sie Code, der für 1 Sekunde einen ZombieProzess erzeugt, mit exit(), fork(), sleep() und wait().
    $ ./my_zombie &
    [1] 1001
    $ ps aux | grep my_zombie
    ... 1001 ... ./my_zombie
    ... 1002 ... [my_zombie] <defunct>
  • Hinweis: <defunct> bedeutet Zombie-Prozess.