Skip to content
Snippets Groups Projects
Commit 48bbc117 authored by iliya's avatar iliya
Browse files

feat: vaut mieux suivre les slides

parent 9c9c0a2a
No related branches found
No related tags found
No related merge requests found
......@@ -26,3 +26,5 @@ $(TEX): $(MD)
clean:
rm -f *.pdf content/*.tex
rebuild: clean all
---
lang: fr
---
\newpage
# Signaux POSIX
Est un événement **asynchrone** (qui peut survenir à n'importe quel moment)
## Pourquoi les signaux
1. Noyau notifie un processus d'un événement exceptionnel
- accès mémoire invalide, division par zéro
- terminaison de processus, etc.
2. Un processus notifie un autre processus
- forme de communication inter-processus (IPC)
- le noyau détermine si le processus est autorisé à envoyer un signal
3. Un processus se notifie lui-même
- timer
## Numéro et nom de signal
Page du manuel des signaux POSIX
```sh
man 7 signal
```
### Lister tous les signaux et les numéros
```sh
kill -l
```
## Action d'un signal
Un processus recevant un signal est **interrompu pour exécuter l'action** associée
au signal.
## Signaux impossibles à intercepter
- `SIGKILL`
- `SIGSTP`
## Envoyer un signal à un processus
```C
int kill(pid_t pid, int sig);
```
## États d'un signal
Un signal peut être ignoré ou bloqué
- ignoré $\rightarrow$ le signal est perdu
- bloqué $\rightarrow$ le signal n'est pas reçu, il le sera seulement une fois
débloqué
## Signaux et processus
Chaque processus possède :
- Une table de pointeurs où chacun pointer sur un **handler de signal**
## Signaux et `fork`
- Les handlers de signaux définis dans le parent sont hérités par l'enfant
- Les signaux bloqués dans le parent sont hérités par l'enfant
- Dans l'enfant, la table des signaux pendants est initialisée à zéro
- Lorsqu'un processus se termine, le signal `SIGCHLD` est **toujours envoyé
au parent**
Dans le cas d'un appel à une fonction `exec`, les handlers de signaux sont
ré-initialisés aux handlers par défaut
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment