Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2016
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <unistd.h>
  4. #include <sys/wait.h>
  5. #include <sys/types.h>
  6.  
  7. int main()
  8. {
  9.   int scelta;
  10.   printf("\n\t\tBenvenuto nel programma creato da Mario Calandra!");
  11.   pid_t pid;
  12.   char dir[16];
  13.   char *args[3];
  14.   while(1)
  15.     {      
  16.       printf("\n\n\t1. Mostra file\n\t2. Mostra processi\n\t0. Esci\n\nScegli cosa fare: ");
  17.       scanf("%d", &scelta);
  18.       switch(scelta)
  19.     {
  20.     case 1:
  21.       pid = fork();
  22.       switch(pid)
  23.         {
  24.         case 0:
  25.           printf("Inserisci una directory: ");
  26.           scanf("%s", dir);
  27.           printf("\n");
  28.           execlp("ls", "ls", "-A",  "-l", dir,  NULL);
  29.           break;
  30.         default:
  31.           wait(NULL);
  32.           printf("\n");
  33.           exit(1);
  34.           break;
  35.         }
  36.       break;
  37.     case 2:
  38.       pid = fork();
  39.       switch(pid)
  40.         {
  41.         case 0:
  42.           args[0] = "ps";
  43.           args[1] = "-e";
  44.           args[2] = NULL;
  45.           execvp(args[0], args);
  46.           break;
  47.         default:
  48.           wait(NULL);
  49.           printf("\n");
  50.           exit(2);
  51.           break;
  52.         }    
  53.     case 0:
  54.       exit(0);
  55.     default:
  56.       continue;
  57.     }
  58.     }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement