cygrunsrv - services enters stopped state if underlying program exits or is killed - doesn't auto restart

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Jan 29 01:05:00 GMT 2015


On Jan 28 15:42, Kizito Porta Balanyà wrote:
> 2015-01-28 12:55 GMT+01:00 Corinna Vinschen <corinna-cygwin@cygwin.com>:
> > On Jan 28 11:18, Corinna Vinschen wrote:
> >> On Jan 27 15:02, Cary Lewis wrote:
> >> > On Tue, Jan 27, 2015 at 4:09 AM, Corinna Vinschen
> >> > --neverexits works, but not if the program that cygrunsrv starts is
> >> > stopped with a kill -9 signal. Perhaps the -9 signal propagates to the
> >> > cygrunsrv.exe program?
> >>
> >> Hmm, yes.  Cygrunsrv evaluates how the service process ended, and only
> >> if it exited the neverexits logic comes into play.  If it ended due to
> >> a signal, it does nothing.
> >>
> >> This is unfortunate because it diminishes the usefulness of --neverexits.
> >> I could patch cygrunsrv to do this:
> >>
> >>   If the service exited due to a signal, and if that signal is not the
> >>   defined termination or shutdown signal (default SIGTERM for both),
> >>   and if --neverexits has been defined, then performas the neverexits
> >>   action.
> >>
> >> Does that sound ok?
> 
> I would say that this should be the default behavior:
> 
> If the signal is SIGTERM and the service is configured to restart the
> program, then restart the program.

No.  SIGTERM (rather: the defined termination signal) is send
explicitely from cygrunsrv to the service process to stop the service.
If this is handled like --neverexits, it would be impossible to stop a
service manually.  The neverexits case should only cover the cases of
exiting as a result of an unexpected signal (SIGSEGV, etc).

> So, --neverxits should be the default behaviour of cygrunsrv , so
> --neverexists shouldn't exist as an option. :) But perhaps I'm wrong
> and I don't understand completely the problem.

I disagree.  Automatic restart of services is not desired by default.
It's a per-service, administrators choice.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20150129/927c8552/attachment.sig>


More information about the Cygwin mailing list