Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio19:esercitazionib:esercitazione8

Questa è una vecchia versione del documento!


Esercitazione 8

Esercizio 1

Scrivere un programma C che appena attivato va immediatamente in background, attende per X secondi (eseguendo il programma /bin/sleep) dove X e' l'argomento del programma e poi stampa il pid, il pid del padre e quindi termina.

Esercizio 2

Un processo zombie è un processo terminato ma che ancora possiede delle risorse ('pid' e PCB) che servono al processo padre per leggere lo exit status del processo figlio.

Scrivere un programma che prende un intero N come argomento e crea N processi zombies. Lanciare il programma in background e visualizzare gli zombies con il comando bash ps -A -ostat,pid,ppid | grep Z.

Esercizio 3

Scrivere un programma C che prende come argomento un intero N>1. L'intero N rappresenta il numero di processi figli che devono essere creati in totale. I processi vanno creati come segue: il processo main stampa il suo pid e crea un figlio attendendone quindi la sua terminazione, il processo figlio a sua volta stampa il suo pid e crea un altro figlio attendendone la terminazione e cosi' via fino ad ottenere N processi figli in tutto. L'output formattato che si richiede che venga stampato sullo standard output e' il seguente:

./family 4
---- 20894: creo un processo figlio
--- 20895: creo un processo figlio
-- 20896: creo un processo figlio
- 20897: creo un processo figlio
20898: sono l'ultimo discendente
20898: terminato con successo
- 20897: terminato con successo
-- 20896: terminato con successo
--- 20895: terminato con successo
---- 20894: terminato con successo
informatica/sol/laboratorio19/esercitazionib/esercitazione8.1554902050.txt.gz · Ultima modifica: 10/04/2019 alle 13:14 (6 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki