#include #include #include #include int main(){ int fork1, fork2, fork3; if((fork1=fork())<0){ perror("erreur exec du fork"); exit(1); } if(fork1 == 0){ if(execlp("who","who",NULL)==-1){ perror("echec execlp"); exit(1); } }else{ int pid, r; if((pid= wait(&r)) <0){ perror("erreur exec du wait"); exit(1); } if((fork2=fork())<0){ perror("erreur exec du fork"); exit(1); } if(fork2 == 0){ if(execlp("ps","ps","-x",NULL)==-1){ perror("echec execlp"); exit(1); } }else{ if((pid= wait(&r)) <0){ perror("erreur exec du wait"); exit(1); } if((fork3=fork())<0){ perror("erreur exec du fork"); exit(1); } if(fork3 == 0){ if(execlp("ls","ls","-la",NULL)==-1){ perror("echec execlp"); exit(1); } }else{ if((pid= wait(&r)) <0){ perror("erreur exec du wait"); exit(1); } } } } return 0; }