Good thought. That parameter is stopwaitsecs. On Tue, 2010-08-24 at 13:59 -0700, Roger Hoover wrote: > Maybe supervisor is not waiting long enough for the process to exit. > There's a config param that specifies how long to wait for a process > to exit before sending sigkill. You could try setting it to a higher > value. > > On Tuesday, August 24, 2010, Dean Banks <[email protected]> wrote: > > > > > > > > > > > > > > This is the strace output (all entries that reference the child > > process) from supervisord while doing a start all followed by stop > > all from supervisorctl: > > > > 11:15:05 clone(child_stack=0, > > flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, > > child_tidptr=0x7f920d5899d0) = 1300 > > 11:15:05 read(11, "2010-15-24 11:15:05 pid 01300 - "..., 131072) = > > 76 > > 11:15:05 write(14, "2010-15-24 11:15:05 pid 01300 - "..., 76) = 76 > > 11:15:05 read(11, "2010-15-24 11:15:05 pid 01300 - "..., 131072) = > > 197 > > 11:15:05 write(14, "2010-15-24 11:15:05 pid 01300 - "..., 197) = 197 > > 11:15:05 read(11, "2010-15-24 11:15:05 pid 01300 - "..., 131072) = > > 118 > > 11:15:05 write(14, "2010-15-24 11:15:05 pid 01300 - "..., 118) = 118 > > 11:15:17 kill(1300, SIGINT) = 0 > > 11:15:27 kill(1300, SIGKILL) = 0 > > 11:15:27 wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == > > SIGKILL}], WNOHANG, NULL) = 1300 > > > > This is the last two lines in the strace for the child process: > > > > 11:15:05 futex(0x7f58e0e6a9e0, FUTEX_WAIT, 1302, NULL > > 11:15:27 +++ killed by SIGKILL +++ > > > > So....the kill(1300, SIGINT) returns success in the supervisord > > strace, but is not mirrored on the child process side. > > > > If I send a kill -2 (INT) from the command line for my app running > > under supervisor, the signal is received properly. The issue seems > > to lie somewhere between supervisord and the application, but I have > > no idea where else to look. > > > > Cheers. > > > > > > > > > > On 8/24/2010 10:47 AM, Roger Hoover wrote: > > Hmm...you also mind get more information by running > > strace on supervisord and see what signal is getting sent. > > > > On Tue, Aug 24, 2010 at 10:17 AM, Dean > > Banks <[email protected]> > > wrote: > > > > I am running supervisor > > in a terminal using the following in my supervisord.conf: > > > > loglevel=debug > > nodaemon=true > > > > so it should be equivalent to the command line that you > > suggest. The logfile excerpt that I included in my initial > > post was developed using these options. > > > > Cheers. > > > > > > > > > > > > On 8/24/2010 9:37 AM, Roger Hoover wrote: > > Try running supervisor on the > > command line in debug mode: > > > > > > supervisord -n -e debug > > > > On Tue, Aug 24, 2010 at > > 8:47 AM, Dean Banks <[email protected]> > > wrote: > > > > I am > > using supervisord v3.0a9 to spawn and manage a > > FastCGI application that I am writing in C for > > a linux target. I have a signal handler that > > gracefully exits my application when SIGINT is > > received. I have verified that the signal > > handler works as desired by running the app in > > a terminal window and issuing Ctrl-C to exit. > > > > > > When issuing a "shutdown" command to > > supervisord (via supervisorctl), it > > appears that supervisord is unable to > > force the app to exit without invoking > > SIGKILL: > > 2010-08-20 10:02:49,661 INFO waiting for cse > > to die > > 2010-08-20 10:02:52,665 INFO waiting for cse to die > > 2010-08-20 10:02:55,669 INFO waiting for cse to die > > 2010-08-20 10:02:58,672 INFO waiting for cse to die > > 2010-08-20 10:02:59,673 WARN killing 'cse' (2031) with SIGKILL > > 2010-08-20 10:02:59,674 INFO stopped: cse (terminated by SIGKILL) > > > > I have the following in my > > supervisord.conf file > > stopsignal=INT > > > > It seems that my app is not > > > > > _______________________________________________ > Supervisor-users mailing list > [email protected] > http://lists.supervisord.org/mailman/listinfo/supervisor-users >
_______________________________________________ Supervisor-users mailing list [email protected] http://lists.supervisord.org/mailman/listinfo/supervisor-users
