| 	
	
	
		
		|||||||
  | 
		
| 
 | 
![]()  | 
	
	
| 
		 | 
	Strumenti | 
| 		
			
			 | 
		#1 | 
| 
			
			
			
			 Member 
			
		
			
			
			Iscritto dal: Dec 2006 
				
				
				
					Messaggi: 104
				 
				
				
				
				 | 
	
	
	
	
		
			
			 
				
				[C unix] scrittura su file
			 
			
		Buongiorno raga, 
		
	
		
		
		
		
		
	
	Codice: 
	void handler(int);
int main(int argc, char *argv[])
{
	int fd,pid,pidl,pidc;
	FILE *fp,*fs;
	if(argc!=2)
	{
		printf("Errore! <eseguibile> <nomefile test>\n");
		exit(-1);
	}
	printf("PADRE: %d\n",getpid());
	
	fp=fopen(argv[1],"w");
	fs=fopen(argv[1],"r");
	if((pid=fork())<0)
		perror("Fork");
	if(pid==0)
	{
		signal(SIGUSR1,handler);
		pidc=getpid();
		printf("FIGLIO: %d\n",pidc);
		//Scrivo il pid del figlio nel file
		fprintf(fp,"%d",pidc);
		
		while(1)
			pause();
	}
	else
	{
		while(1)
		{
			signal(SIGUSR2,handler);
			sleep(5);
			//legge il pid dal file
			
			fscanf(fs,"%d",&pidc);
			printf("Letto dal file pid %d\n",pidc);
			kill(pid,SIGUSR1);
			//pause();
		}		
	}
	//close(fd);
	fclose(fp);
	fclose(fs);
	exit(0);
}
void handler(int signo)
{
	if(signo==SIGUSR1)
	{
		printf("SEGNALE FIGLIO%d ricevuto\n",signo);
		kill(getppid(),SIGUSR2);
	}
	if(signo==SIGUSR2)
	{
		printf("SEGNALE PADRE RICEVUTO!\n");
		exit(0);
	}
	return;
}
 | 
| 
		
 | 
	
	
	
		
		
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
		
		  
	   | 
| Strumenti | |
		
  | 
	
		
  | 
Tutti gli orari sono GMT +1. Ora sono le: 12:13.









		
		
		

 
 







