Programmation System linux en c (les singaux )

Fermé
chaima - 13 sept. 2020 à 10:26
 chaima - 19 sept. 2020 à 23:06
bonjour a tous .
j'ai une question pour les signaux en c .
comment bloquer un signale pour processus et débloquer pour outre en même programme
par exemple j'ai le programme :
void main()
{
printf( " début le processus père pid : "+getpid() )
x=fork(){
prinf( " ici le processus fils : " ) ; exit() ; }
wait(0) ;
printf ("fin processus père" ) ;
}
      • comment faire pour bloquer le signale ctrl+z pour le processus père et active pour le processus fils


merci en tout les case .

2 réponses

yg_be Messages postés 23309 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 novembre 2024 Ambassadeur 1 551
13 sept. 2020 à 12:34
bonjour, connais-tu la fonction signal()?
0
chaimamalika008@gmail.com
17 sept. 2020 à 21:33
oui je connais
j'ai essaye ce code mais ça marche pas , il toujours faire soit le handler de son père ou bien bloquer .
void main ()
{
signal(SIGTSTP, fct) ;
int x = fork() ;
if (x==0)
{
signal(SIGTSTP,SIG_DFL) ;
printf("debut de fils \n " );
pause () ;
printf("fin de fils ");
}
wait(0); }
0
yg_be Messages postés 23309 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 novembre 2024 1 551
18 sept. 2020 à 16:47
à quoi correspond
fct
?
as-tu essayé
SIG_IGN
?
0
chaima > yg_be Messages postés 23309 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 novembre 2024
19 sept. 2020 à 23:06
fct c'est le handler pour ctrl+c dans processus père juste une affichage .
void fct ( int signale )
{ printf("ici le 1 handler pour ctrl+c "); }
oui j'ai essaye SIG_IGN ca marche pas aussi soit bloquer tous le programme soit affiche le handler pour son père .
merci en tous les case
0