Evolution #6177
Arrêt de creoled --debug avec ctrl+c
Description
Si on lance creoled en mode debug, un ctrl+c ne permet plus de le stopper...
ENGINE Start InotifyMonitor thread ^CTraceback (most recent call last): File "/usr/sbin/creoled", line 6, in <module> d.run() File "/usr/lib/python2.7/dist-packages/creole/server.py", line 439, in run engine.start() File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 235, in start self.publish('start') File "/usr/lib/python2.7/dist-packages/cherrypy/process/wspbus.py", line 197, in publish output.append(listener(*args, **kwargs)) File "/usr/lib/python2.7/dist-packages/cherrypy/_cpserver.py", line 151, in start ServerAdapter.start(self) File "/usr/lib/python2.7/dist-packages/cherrypy/process/servers.py", line 167, in start wait_for_free_port(*self.bind_addr) File "/usr/lib/python2.7/dist-packages/cherrypy/process/servers.py", line 406, in wait_for_free_port time.sleep(timeout) KeyboardInterrupt
Demandes liées
Révisions associées
Un « SIGINT » mal placé n’arrête pas « creoled »
Le problème la prise en charge des signaux lors du démarrage du serveur
cherrypy : lorsque le moteur n’est pas démarré, les signaux sont ignorés.
- creole/server.py (CreoleDaemon.run): Appel la méthode « _kill() » sur
la réception d’un « SIGINT ».
(CreoleDaemon._kill): Sort avec un code d’erreur non nul.
Fixes: #6177 @1h
Historique
#1 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible mis à Eole 2.4-beta1
#2 Mis à jour par Daniel Dehennin il y a plus de 10 ans
- Statut changé de Nouveau à En attente d'informations
C’est amusant ça fonctionne très bien sur ma machine…
D’après la log fourni, il semble que creoled n’a pas eu le temps de complètement démarrer, peut-être que cherrypy trap les Ctrl-C
le temps de finir son démarrage:
root@eolebase:~# creoled --debug creoled - Loading tiramisu configuration ^CTraceback (most recent call last): File "/usr/sbin/creoled", line 6, in <module> d.run() File "/usr/lib/python2.7/dist-packages/creole/server.py", line 405, in run server = CreoleServer() File "/usr/lib/python2.7/dist-packages/creole/server.py", line 142, in __init__ self.reload_config() File "/usr/lib/python2.7/dist-packages/creole/server.py", line 149, in reload_config disable_mandatory=True) File "/usr/lib/python2.7/dist-packages/creole/loader.py", line 206, in creole_loader config = loader.get_config() File "/usr/lib/python2.7/dist-packages/creole/var_loader.py", line 1216, in get_config self._config = Config(descr) File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 552, in __init__ self._impl_build_all_paths() File "/usr/lib/python2.7/dist-packages/tiramisu/config.py", line 475, in _impl_build_all_paths self.cfgimpl_get_description().impl_build_cache() File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1224, in impl_build_cache force_no_consistencies) File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1224, in impl_build_cache force_no_consistencies) File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1224, in impl_build_cache force_no_consistencies) File "/usr/lib/python2.7/dist-packages/tiramisu/option.py", line 1211, in impl_build_cache option._consistencies is not None: KeyboardInterrupt root@eolebase:~#
#3 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible changé de Eole 2.4-beta1 à Eole 2.4-beta2
#4 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Priorité changé de Normal à Bas
- Version cible changé de Eole 2.4-beta2 à Eole 2.4-beta3
#5 Mis à jour par Joël Cuissinat il y a plus de 10 ans
- Version cible changé de Eole 2.4-beta3 à Eole 2.4-RC2
#6 Mis à jour par Daniel Dehennin il y a environ 10 ans
- Echéance mis à 21/02/2014
- Statut changé de En attente d'informations à Accepté
- Priorité changé de Bas à Normal
- Début mis à 11/02/2014
#7 Mis à jour par Daniel Dehennin il y a environ 10 ans
Pour la gestion par le script d’init: un kill -9
est fait après 10 secondes d’attente (source:init/creoled?rev=27505c3#L40)
#8 Mis à jour par Daniel Dehennin il y a environ 10 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit d229f264e74eafe511fa3b5d3621f58a3aefb6f4.
#9 Mis à jour par Joël Cuissinat il y a environ 10 ans
- Statut changé de Résolu à Fermé
En réalité, il reste encore un moment précis où l'on peut planter creoled (et en plus il continue de répondre !) mais je ne vais pas m'acharner !
root@scribe:~# creoled --debug creoled - Loading tiramisu configuration ENGINE Listening for SIGHUP. ENGINE Listening for SIGTERM. ENGINE Listening for SIGUSR1. ENGINE Listening for SIGINT. ENGINE Bus STARTING ENGINE Started monitor thread '_TimeoutMonitor'. ENGINE PID 25932 written to '/tmp/creoled.pid'. ENGINE Started monitor thread 'Autoreloader'. ENGINE Start InotifyMonitor thread ^C ENGINE Caught signal SIGINT. ^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C^C 127.0.0.1 - - [21/Feb/2014:17:39:38] "GET /get/creole?variable=nom_machine HTTP/1.1" 200 35 "" "restkit/3.3.2"