Skip to content

svt/daemonctl

Daemon Control (daemonctl)

Description: A python framework and tools to manage small applications

Technology stack: Plain python Status: Running in production CHANGELOG. When administrating alot of applications on different servers or developing alot of small services it's often desireable to keep the inhouse services seperate from system services.

Dependencies

  • python >= 2.6
  • setprocname: to have cleaner names in ps for the daemons (not required)
  • fast-entry_points

Installation

sudo ./setup.py install

Configuration

configfile in /usr/local/etc/daemonctl.conf (or where DAEMONCTL is installed)

Configformat:

   logpath = logdir # Path to directory where log files will be placed
   pidpath = piddir # Path to directory where pid files will be placed
   modules {
    module1 {
     name = modulename # name of daemon in status and
                         other daemonctl commands (should include %(id)s if type=dynamic)
     type = moduletype # single or dynamic
     path = modulepath # Path to where the files are
                         (will do chdir to here before running command)
     execcmd = commandline # Command to run (will be prefixed with path)
     listcmd = listcommand # Command that returns id:s for
                             type=dynamic, one id per row
     logpath = logdir # Can override the global logpath
     pidpath = piddir # Can override the global pidpath
     runas = username # Run daemon as this user
    }
   }

Usage

  Usage: daemonctl [options] <command> [daemon]
       Commands:
          start        Start daemons
          stop         Stop daemons ("-f" to force)
          restart      Restart daemons (stop+start)
          forcestop    Force daemons to stop (kill -9)
          status       Get daemon status
          enable       Enable an application
          disable      Disable an application
          hide         Hide daemon from status
          show         Unhide daemon from status
          tail         Tail a daemon log
          less         Less a daemon log
          csvstatus    Get daemon status in csv format

      Options:
        -h, --help            show this help message and exit
        -f, --force
        -r, --regex           Select daemons using regexp only
        -g, --glob            Select daemons using globbing only
        -e, --exact           Select daemons using exact match only
        -c CONFIG, --config=CONFIG
        -a, --showall         Show hidden
        -v, --version         Print version

Known issues

The code is very messy

Getting help

If you have questions, concerns, bug reports, etc, please file an issue in this repository's Issue Tracker.

Getting involved

Feature request with documentation, fixes, new features and general beutification is welcome.


Open source licensing info

Copyright: SVT 2018 GNU General Public License version 3 LICENSE

except for fastentrypoints.py which is Copyright (c) 2016, Aaron Christianson


Primary Maintainer

Andreas Åkerlund https://github.com/thezulk

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published