I have a python script that when run on the command line is well behaved
(when I press Ctrl-C all the processes die), however when I try running
it with supervisor only the main process is killed by `supervisorctl
stop`. The docs
(http://supervisord.org/subprocess.html#nondaemonizing-of-subprocesses)
say that it should be ok to run with supervisor. The output when I stop
it on the command line is below.
^CError in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
Process Process-4:
Process Process-2:
Traceback (most recent call last):
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
func(*targs, **kargs)
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
File "/usr/lib/python2.7/multiprocessing/util.py", line 295, in
_exit_function
p.join()
File "/usr/lib/python2.7/multiprocessing/process.py", line 145, in join
res = self._popen.wait(timeout)
self.run()
File "/usr/lib/python2.7/multiprocessing/forking.py", line 148, in wait
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
self._target(*self._args, **self._kwargs)
File "dummy-smtp-server.py", line 40, in _accept_subprocess
File "dummy-smtp-server.py", line 40, in _accept_subprocess
return self.poll(0)
pair = self.accept()
File "/usr/lib/python2.7/multiprocessing/forking.py", line 133, in poll
pair = self.accept()
File "/usr/lib/python2.7/asyncore.py", line 358, in accept
pid, sts = os.waitpid(self.pid, flag)
File "/usr/lib/python2.7/asyncore.py", line 358, in accept
KeyboardInterrupt
conn, addr = self.socket.accept()
conn, addr = self.socket.accept()
File "/usr/lib/python2.7/socket.py", line 202, in accept
File "/usr/lib/python2.7/socket.py", line 202, in accept
Error in sys.exitfunc:
Traceback (most recent call last):
File "/usr/lib/python2.7/atexit.py", line 24, in _run_exitfuncs
func(*targs, **kargs)
File "/usr/lib/python2.7/multiprocessing/util.py", line 295, in
_exit_function
p.join()
File "/usr/lib/python2.7/multiprocessing/process.py", line 145, in join
res = self._popen.wait(timeout)
File "/usr/lib/python2.7/multiprocessing/forking.py", line 148, in wait
sock, addr = self._sock.accept()
sock, addr = self._sock.accept()
return self.poll(0)
KeyboardInterrupt
File "/usr/lib/python2.7/multiprocessing/forking.py", line 133, in poll
KeyboardInterrupt
pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt
Process Process-5:
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "dummy-smtp-server.py", line 40, in _accept_subprocess
pair = self.accept()
File "/usr/lib/python2.7/asyncore.py", line 358, in accept
conn, addr = self.socket.accept()
File "/usr/lib/python2.7/socket.py", line 202, in accept
sock, addr = self._sock.accept()
KeyboardInterrupt
Process Process-1:
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
Process Process-3:
Traceback (most recent call last):
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "dummy-smtp-server.py", line 40, in _accept_subprocess
pair = self.accept()
File "/usr/lib/python2.7/asyncore.py", line 358, in accept
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "dummy-smtp-server.py", line 40, in _accept_subprocess
conn, addr = self.socket.accept()
File "/usr/lib/python2.7/socket.py", line 202, in accept
pair = self.accept()
File "/usr/lib/python2.7/asyncore.py", line 358, in accept
sock, addr = self._sock.accept()
KeyboardInterrupt
conn, addr = self.socket.accept()
File "/usr/lib/python2.7/socket.py", line 202, in accept
sock, addr = self._sock.accept()
KeyboardInterrupt
_______________________________________________
Supervisor-users mailing list
[email protected]
http://lists.supervisord.org/mailman/listinfo/supervisor-users