Skip to content

Add support for reload:'command to reload' (with spaces) #446

@troglobit

Description

@troglobit

Some services either don't support SIGHUP to reload, or need some extra logic to perform a similar operation. This feature request suggests adding a reload:'/path/to/cmd arg' to sysv/service stanzas to allow users to specify their own logic.

Braindump

The bulk of the heavy lifting is in src/service.c:service_restart(), which maybe should be renamed to service_reload(). It is (only) called by the service state machine when both svc_nohup() is false and svc_is_daemon(svc). The latter is a bit peculiar since it only applies to service stanzas, not sysv, when in fact both are treated as daemons.

So this whole chain of logic needs to be refactored, and evidently bug fixed as well.

Background

  • A service: does not fork, hopefully logs to syslogd, and possibly supports SIGHUP
  • A sysv: is likely a script, launching a forking service, that likely logs to syslog and equally likely supports SIGHUP

The latter of the two also very likely supports a reload command to the start-stop script.

Similar to

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions