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

Reply via email to