From 6ffd8b86d14a306af516d5d65134925e7cf4c2b9 Mon Sep 17 00:00:00 2001 From: Thomas Amberg Date: Mon, 25 Mar 2019 09:17:04 +0100 Subject: [PATCH] Update README.md --- README.md | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b112b3d..2e67802 100644 --- a/README.md +++ b/README.md @@ -13,12 +13,7 @@ I'm parent pid of child pid_c I'm child pid of parent pid_p * Entspricht der Output ihren Erwartungen? Wieso? -### b) Signal Masken, 45' -* Schreiben Sie ein Programm *my_sync.c*, das den Code von [fork_sig_sync.c](http://man7.org/tlpi/code/online/book/procexec/fork_sig_sync.c.html)TLPI wie folgt erweitert: -* Der neue Code soll ohne *tlpi_hdr.h* und *curr_time.h* builden und Signal Masken für *blocked* und *pending* Signale ausgeben, dort im Code, wo sich was ändert. -* Hinweis: Dokumentation von *sigprocmask()* lesen, *sigpending()* und *printf("%032x", ...)* nutzen. - -### c) *exit()*, 15' +### b) *exit()*, 15' * Finden Sie heraus, wieso sich in [fork_stdio_buf.c](http://man7.org/tlpi/code/online/book/procexec/fork_stdio_buf.c.html)TLPI der Output dieser beiden Aufrufe unterscheidet:
 $ ./fork_stdio_buf
 $ ./fork_stdio_buf > file && cat file
@@ -26,13 +21,13 @@ $ ./fork_stdio_buf > file && cat file * Wieso wird nur im einen Fall der Output verdoppelt? * Hinweis: Was passiert bei *fork()* im Speicher? -### d) Zombie-Prozesse, 15' +### c) Zombie-Prozesse, 15' * Lassen Sie den Beispiel-Code [make_zombie.c](http://man7.org/tlpi/code/online/book/procexec/make_zombie.c.html)TLPI laufen. * Senden Sie dem Zombie-Child ein *SIGKILL* Signal. * Was macht der *system()* Aufruf im Source Code? * Hinweis: _<defunct>_ bedeutet Zombie-Prozess. -### e) Eigenes *system()*, 15' +### d) Eigenes *system()*, 15' * Implementieren Sie eine eigene *system()* Funktion. * Nutzen Sie dazu das *sh* Kommando mit Argument *-c*:
 $ sh -c "ls | wc"