#include #include #include #include #include main() { int fd1, fd2, i, n; char user[20], cmd[50], linie[10]; FILE *p; fd1 = open("FIFO1", O_WRONLY); if(fd1==-1) { perror("eroare la deschidere fifo:"); exit(1); } fd2 = open("FIFO2", O_RDONLY); if(fd2==-1) { perror("eroare la deschidere fifo:"); exit(1); } i = read(fd2, user, sizeof(user)); if (i<0) perror("Parinte - err la read:"); n = -1; sprintf(cmd, "ps -U %s 2>/dev/null | wc -l", user); p = popen(cmd, "r"); if (p!=NULL) fgets(linie, 10, p); n = atoi(linie); pclose(p); i = write(fd1, &n, sizeof(int)); if (i<0) perror("Parinte - err la write:"); close(fd1); close(fd2); }