extinction de l'ordi : SIGTERM

Le
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 :-(
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JKB
Le #22904481
Le 09 Dec 2010 16:18:46 GMT,
Thomas
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
Thomas
Le #22904911
Le 9/12/2010 17:20, JKB a écrit :

Le 09 Dec 2010 16:18:46 GMT,
Thomas
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é)
Paul Gaborit
Le #22906531
À (at) 09 Dec 2010 18:17:02 GMT,
Thomas
- 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 -
JKB
Le #22906801
Le Fri, 10 Dec 2010 08:34:39 +0100,
Paul Gaborit

À (at) 09 Dec 2010 18:17:02 GMT,
Thomas
- 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
Lucas Levrel
Le #22906971
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
Lucas Levrel
Le #22907051
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
Cyrille Lefevre
Le #22907111
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
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.
Thomas
Le #22927601
Le 10/12/2010 08:34, Paul Gaborit a écrit :


À (at) 09 Dec 2010 18:17:02 GMT,
Thomas
- 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 :-)
Publicité
Poster une réponse
Anonyme