Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

extinction de l'ordi : SIGTERM

8 réponses
Avatar
Thomas
bonjour :-)


quand un ordi s'eteind, c'est bien SIGTERM qu'il envoie à tous les
processus quelques secondes avant de les tuer ?

parce qu'apparement j'ai pas le droit de traiter ce signal :-(

8 réponses

Avatar
JKB
Le 09 Dec 2010 16:18:46 GMT,
Thomas écrivait :
bonjour :-)



Bonsoir,

quand un ordi s'eteind, c'est bien SIGTERM qu'il envoie à tous les
processus quelques secondes avant de les tuer ?

parce qu'apparement j'ai pas le droit de traiter ce signal :-(



Euh, oui, et c'est plutôt normal... Quel est le but ?

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Thomas
Le 9/12/2010 17:20, JKB a écrit :

Le 09 Dec 2010 16:18:46 GMT,
Thomas écrivait :
bonjour :-)



Bonsoir,

quand un ordi s'eteind, c'est bien SIGTERM qu'il envoie à tous les
processus quelques secondes avant de les tuer ?

parce qu'apparement j'ai pas le droit de traiter ce signal :-(



Euh, oui, et c'est plutôt normal...



donc
- c'est bien SIGTERM qui est envoyé à tous les processus quand l'ordi
s'eteind, et
- c'est normal de ne pas pouvoir fermer le logiciel proprement, et de
subir un arret brutal,
c'est bien ca ?

Quel est le but ?



de permetre à mon logiciel de se fermer proprement
(typiquement, pour les applications graphiques, elles demandent à
l'utilisateur s'il veut enregistrer, ou pas, ce qu'il a modifié)
Avatar
Paul Gaborit
À (at) 09 Dec 2010 18:17:02 GMT,
Thomas écrivait (wrote):

- c'est bien SIGTERM qui est envoyé à tous les processus quand l'ordi
s'eteind, et



Sans doute...

- c'est normal de ne pas pouvoir fermer le logiciel proprement, et de
subir un arret brutal,



SIGTERM est parfaitement interceptable. Seuls SIGKILL et SIGSTOP ne sont
captables...

Quel est le but ?



de permetre à mon logiciel de se fermer proprement
(typiquement, pour les applications graphiques, elles demandent à
l'utilisateur s'il veut enregistrer, ou pas, ce qu'il a modifié)



C'est déjà trop tard ! Généralement, les interfaces graphiques sont déjà
arrêtées à ce moment-là...


--
Paul Gaborit - <http://perso.mines-albi.fr/~gaborit/>
Avatar
JKB
Le Fri, 10 Dec 2010 08:34:39 +0100,
Paul Gaborit écrivait :

À (at) 09 Dec 2010 18:17:02 GMT,
Thomas écrivait (wrote):

- c'est bien SIGTERM qui est envoyé à tous les processus quand l'ordi
s'eteind, et



Sans doute...

- c'est normal de ne pas pouvoir fermer le logiciel proprement, et de
subir un arret brutal,



SIGTERM est parfaitement interceptable. Seuls SIGKILL et SIGSTOP ne sont
captables...



Il me semble qu'il y a une spécificité de la glibc qui fait que
SIGTERM n'est pas captable mais je n'arrive plus à mettre la main
dessus. Cela ne semble plus être le cas avec la eglibc de debian,
mais je suis sûr que je suis tombé sur cette limitation avec
d'anciennes versions de debian utilisant la glibc.

JKB

--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
Lucas Levrel
Le 10 décembre 2010, JKB a écrit :

Il me semble qu'il y a une spécificité de la glibc qui fait que
SIGTERM n'est pas captable mais je n'arrive plus à mettre la main
dessus. Cela ne semble plus être le cas avec la eglibc de debian,
mais je suis sûr que je suis tombé sur cette limitation avec
d'anciennes versions de debian utilisant la glibc.



Ce n'est pas (plus ?) le cas d'après la doc officielle de la glic :
http://www.gnu.org/software/libc/manual/html_node/Termination-Signals.html#Termination-Signals

--
LL
Avatar
Lucas Levrel
Le 10 décembre 2010, Paul Gaborit a écrit :

Quel est le but ?



de permetre à mon logiciel de se fermer proprement
(typiquement, pour les applications graphiques, elles demandent à
l'utilisateur s'il veut enregistrer, ou pas, ce qu'il a modifié)



C'est déjà trop tard ! Généralement, les interfaces graphiques sont déjà
arrêtées à ce moment-là...



Et de toute façon, au shutdown il ne s'écoule que quelques secondes entre
SIGTERM et SIGKILL, pas assez pour qu'un utilisateur réagisse. En gros
SIGTERM c'est « sauve qui peut ! »

--
LL
Avatar
Cyrille Lefevre
Le 09/12/2010 19:17, Thomas a écrit :
Le 9/12/2010 17:20, JKB a écrit :

Le 09 Dec 2010 16:18:46 GMT,
Thomas écrivait :
bonjour :-)



Bonsoir,

quand un ordi s'eteind, c'est bien SIGTERM qu'il envoie à tous les
processus quelques secondes avant de les tuer ?

parce qu'apparement j'ai pas le droit de traiter ce signal :-(



Euh, oui, et c'est plutôt normal...



donc
- c'est bien SIGTERM qui est envoyé à tous les processus quand l'or di
s'eteind, et
- c'est normal de ne pas pouvoir fermer le logiciel proprement, et de
subir un arret brutal,
c'est bien ca ?



tout dépend du logiciel, s'il intercepte le signal SIGTERM, il lui est
alors possible de s'arrêter proprement, s'il ne le fait pas, il est
arrêter brutalement. toutefois, il est possible qu'il intercepte le
signal SIGTERM mais qu'il ne s'arrête pas assez vite, auquel cas, il se
prend un SIGKILL qui ne peut être intercepté...

Quel est le but ?



de permetre à mon logiciel de se fermer proprement
(typiquement, pour les applications graphiques, elles demandent à
l'utilisateur s'il veut enregistrer, ou pas, ce qu'il a modifié)



d'après ce que tu décrit, ton logiciel intercepte le signal SIGTERM,
mais n'a pas un comportement attendu, il se prend donc un SIGKILL qqs
secondes plus tard...

dommage !

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Avatar
Thomas
Le 10/12/2010 08:34, Paul Gaborit a écrit :


À (at) 09 Dec 2010 18:17:02 GMT,
Thomas écrivait (wrote):

- c'est bien SIGTERM qui est envoyé à tous les processus quand l'ordi
s'eteind, et
- c'est normal de ne pas pouvoir fermer le logiciel proprement, et de
subir un arret brutal,



SIGTERM est parfaitement interceptable. Seuls SIGKILL et SIGSTOP ne sont
captables...



c'etait un pb d'utilisation de l'api,
autrement dit il etait localisé entre la chaise et le clavier, comme on
dit ;-)

merci à tous :-)