#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/wait.h>
//----------------------------------------------------------
int
main (void)
{
    pid_t  pid_child;
    pid_t  pid_dead;
    int    status;
    //
    pid_child = fork ();
    if (pid_child == 0)
      {
        sleep (1);
        printf ("ciao!\n");
        exit (7);
      }
    printf ("Ho avviato il processo %i.\n", pid_child);
    //
    pid_dead = wait (&status);
    //
    printf ("Il processo %i si è concluso restituendo "
            "il valore %x.\n",
            pid_dead, WEXITSTATUS (status));
    //
    return (0);
}