Bonjour,

je recherche de l'aide sur les signaux (sur FreeBSD et si possible pour un code en multi platforme Sun et Linux).

J'ai trouve ce code sur internet (merci google), et j'aimerais quelques explications svp.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
 
void    handler(int);
int     nsig[NSIG];
 
void handler(int s)
{
  printf("Signal %d recu %d fois\n", s, ++nsig[s]);
}
 
int main(void)
{
  int   s;
 
  for (s = 1; s < NSIG; s++)
    {
      if (signal(s, handler) == SIG_ERR)
        fprintf(stdout, "Je ne peux pas attraper signal no %d\n", s);
      nsig[s] = 0;
    }
 
  while (1)
    pause();
}
Je suis en train de code un interpreteur de comande (minishell ) et j'aimerais savoir:

_ Comment recuperer un signal depuis un read de 0 (si c'est possible)
_ Comment recuperer le signal d'une touche ou d'un ensemble de touche.

Merci