Advertisement
Guest User

Untitled

a guest
Jan 12th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.49 KB | None | 0 0
  1. # TP1 - EXO1
  2.  
  3. #include <unistd.h>
  4. #include <stdio.h>
  5.  
  6. int main(void)
  7. {
  8.     // On recupere le processus pere
  9.     pid_t perePID = getppid();
  10.     // On recupere le PID du processus de ce programmw
  11.     pid_t monPID = getpid();
  12.     printf("Je suis le processus numero %d\n", monPID);
  13.     // Creation d'un processus fils
  14.     printf("Je suis le processus numero %d et mon pere est le processus %d\n",
  15.                 monPID, perePID);
  16.     // A partir de la creation du processus fils, les deux bossent
  17.     pid_t filsPID = fork();
  18.     printf("Fork renvoie la valeur %d\n", filsPID);
  19.     return 0;
  20. }
  21.  
  22. _________________________________________________________________
  23. # TP1 - Exo3
  24.  
  25. #include <stdio.h>
  26. #include <unistd.h>
  27.  
  28. int main(void)
  29. {
  30.     pid_t processusFils = fork();
  31.     int i, j;
  32.     j = 1;
  33.     for(i = 0; i <= 19; i++)
  34.     {      
  35.         // Si le fork renvoie 0 on est dans le processus fils
  36.         switch(processusFils)
  37.         {
  38.             case 0:if(i%2 == 0)
  39.                 {
  40.                     printf("Fils : %d\n", i);
  41.                     sleep(1);
  42.                 }
  43.                 break;
  44.             default:if(i%2 != 0)
  45.                 {
  46.                     printf("Pere : %d\n", i);
  47.                     sleep(1);
  48.                 }
  49.                 break;
  50.         }
  51.     }
  52.     return 0;
  53. }
  54.  
  55. _______________________________________________________________
  56. #TP1 - Exo3 avec args
  57.  
  58. #include <stdio.h>
  59. #include <unistd.h>
  60.  
  61. int main(int argc, char *argv[])
  62. {
  63.     int valFils;
  64.     pid_t pidFils = fork();
  65.  
  66.     switch(pidFils)
  67.     {
  68.         case 0:execl("/bin/ps", "ps","-eaH", NULL);
  69.         default:wait(&valFils);
  70.             printf("Valeur retour du processus fils : %d\n", valFils);
  71.             break;
  72.     }
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement