Procese Linux

Exemple

Probleme

  1. Analizați și explicați efectul secvenței:

    int i, j, k;
    
    
    
    i = fork();
    
    if ((j = fork())) {
    
        k = fork();
    
    }
    
    printf("%d %d %d %d %d", i, j, k, getpid(), getppid());
  2. Explicați efectul produs de execlp("ls", "ls", "*.c", NULL);.

  3. Citiți o comandă de la tastatură și rulați-o cu fork + exec.

  4. Scrieți un program care fork()ă vreme PID-ul fiecărui copil e par.

  5. Inițializați un vector cu numerele de la 1 la N (citit de la tastatură). Programul inițial trebuie să producă un proces copil și fiecare să calculeze suma a jumătate din numere (ex. părintele săă globală comună. Explicați rezultatul.

  6. Scrieți programe păă dacă un număr e prim; părintele afișeazăă la N citit de la tastatură (wait + WEXITSTATUS).