|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 439
|
[c#] unix segnali padre figlio
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 Codice:
#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);
}
Ultima modifica di *MATRIX* : 24-05-2008 alle 14:50. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2005
Messaggi: 439
|
nessuna idea?
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
C#?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
|
In effetti... prima accertati del linguaggio che intendi usare.
__________________
C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai! |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 290
|
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?
__________________
_______________________________________________ AMD Athlon64 3500+, Cooler Master Hyper 6, Asus A8V Deluxe wifi-g Rev2.0, Corsair TwinX-1024 Pc3200XL Platinum, Western Digital Raptor 74GB, Cooler Master CoolDrive 4, Sapphire Radeon 9600XT 256MB, Sound Blaster Audigy Player, Cambridge Soundworks 4.0, Enermax Coolergiant EG485p/ax, Lg Flatron L1952S --- Acer Aspire 5024 ![]() Apple MacBook Pro 13" 2.53GHz |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:26.




















