|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2012
Messaggi: 4
|
[C] signal fra processi
Sto facendo un programmino stupido per un corso che sto seguendo in università, il programma deve creare un processo figlio, ricevere un SIGUSR1, mandare a sua volta unSIGUSR2 e poi terminarlo con un SIGTERM. Semplice no? Lo pensavo anche io fino a che non mi sono accorto che non funziona niente(o quasi) xD
sapete come aiutarmi? Codice:
#include<stdio.h>#include<stdlib.h>
#include<unistd.h>
#include<signal.h>
#include<sys/wait.h>
void handp(int signal);
void handc(int signal);
int PID;
int main(){
signal(SIGUSR1, handp);
if(fork()==0){
signal(SIGUSR2, handc);
signal(SIGTERM, SIG_DFL);
kill(getppid(), SIGUSR1);
printf("\nkill child executed");
PID=getpid();
exit(0);
}
wait(0);
printf("\n");
kill(PID,SIGUSR2);
kill(PID,SIGTERM);
printf("\nchild terminated");
}
void handp(int signal){
if(signal==SIGUSR1)
printf("\nParent received SIGUSR1");
return;
}
void handc(int signal){
if(signal==SIGUSR2)
printf("\nChild received SIGUSR2");
return;
}
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:16.



















