PDA

View Full Version : [c#] unix segnali padre figlio


*MATRIX*
24-05-2008, 13:46
ciao raga

dovrei fare questo esercizio per capireu n po i segnali

allora il processo figlio invia al padre un segnale lui lo cattura e mi stampa il suo pid

non mi funziona mi date una mano? mi si blocca dopo aver stampato il pid del figlio con segnale definito untente 1

#include<stdlib.h>
#include<stddef.h>
#include<stdio.h>
#include<string.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<dirent.h>
#include <sys/wait.h>
#include<wait.h>
#include <signal.h>


pid_t pid;

void program(int sig)
{
if (sig==SIGUSR1)
printf("PID==%d% ",getpid());
}


int main()
{

if (pid=fork()==0)
{
printf("sono il figlio %d\n",getpid());
kill(getppid(),SIGUSR1);
exit(1);

}
else


signal(SIGUSR1,program);


}

*MATRIX*
24-05-2008, 19:18
nessuna idea?:(

71104
25-05-2008, 21:21
C#? :wtf:

DanieleC88
25-05-2008, 21:47
In effetti... prima accertati del linguaggio che intendi usare. :Prrr:

VendeR
26-05-2008, 12:42
a parte la questione del linguaggio (non conosco il c# ma il codice che hai scritto tu č c), io ti consiglio di chiamare prima la signal poi la fork, nell'if della metti un paio di parentesi in pių che aiutano la chiarezza! ah altra cosa in program non č necessario che controlli di nuovo il segnale.. serve solo gestisci pių segnali con la stessa funzione ma nel tuo esempio questo non accade!
ah dubbio mio che non ho capito: tu devi stampare il pid del processo padre o del processo figlio?