bonjour,
j'ai un processus fils qui tourne en tache de fond. Je dois le tuer a un moment donne depuis le processus pere avec l'instruction kill en utilisant SIGTERM.
Le code du processus fils:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
int fd = open(.....);  //ligne serie
while(1)
{
    //acquisition de donnees qui peuvent durer quelques ms
    write(fd, donnees);
    sleep(1);
}
close(fd);
Je me pose la question: kill arrivant de facon totalement asynchrone, quelle garantie ai-je que mon processus fils se terminera correctement a la fin de son boulot et non pas au milieu d'une acquisition ou d'un write ou sans faire le close?
Les pages de man ne sont pas tres explicite a ce sujet. (je trouve...)
Merci.