/service

Easy implementation of Unix background services in Python

Primary LanguagePythonMIT LicenseMIT

Python background services made easy

https://travis-ci.org/torfsen/service.svg?branch=master

The Python service package makes it easy to write Unix services, i.e. background processes ("daemons") that are controlled by a foreground application (e.g. a console script):

from service import Service

class MyService(Service):
    def run(self):
        while True:
            do_work()

if __name__ == '__main__':
    import sys

    if len(sys.argv) != 2:
        sys.exit('Syntax: %s COMMAND' % sys.argv[0])

    cmd = sys.argv[1].lower()
    service = MyService('my_service', pid_dir='/tmp')

    if cmd == 'start':
        service.start()
    elif cmd == 'stop':
        service.stop()
    elif cmd == 'status':
        if service.is_running():
            print "Service is running."
        else:
            print "Service is not running."
    else:
        sys.exit('Unknown command "%s".' % cmd)

For details, please see the documentation.

Installation

Installation is easy via pip:

pip install service