Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include<stdio.h> #include<unistd.h> //biblioteca para manipulação de processos #include <sys/wait.h> #include <sys/types.h> #include <signal.h> void main(){ int filho1, filho2, filho3; filho1 = fork(); if( filho1 != 0 ){ //printf( " entrou 1 " ); filho2 = fork(); } if ( (filho1 != 0) && (filho2 != 0) ){ //printf( " entrou fork3 " ); filho3 = fork(); } int matador; if( filho1 == 0 ){ printf("\nSou filho um, meu pid é: %d \n" ,getpid()); while(1){ //sleep(30); } } if( filho2 == 0 ){ printf("\nSou filho dois, meu pid é: %d \n" ,getpid()); while(1){ //sleep(30); } } if( filho3 == 0 ){ printf("\nSou filho tres, meu pid é: %d \n" ,getpid()); while(1){ //sleep(30); } } else { int i; for(i = 0; i<3 ; i++){ printf("\n\tSou Pai\nDigite o filho que você quer matar, seu assassino! \n " ); scanf("%d", &matador); if ( kill(matador, SIGKILL) == -1 ) printf(" Deu erro...\n"); printf("\nFilho %d morto\n", matador); } } }
Compartilhar