improved example script
[python-daemon.git] / doc / examples / daemon-example.py
1 #!/usr/bin/env python
2
3 import sys, time
4 from daemon import Daemon
5
6 class MyDaemon(Daemon):
7
8     def __init__(self, pid, log):
9       Daemon.__init__(self, pid, stdout=log, stderr=log)
10
11     def run(self):
12         """Overrides Daemon().run() with actions you want to daemonize.
13         MyDaemon.run() is then called within MyDaemon().start()"""
14         print "Starting Deamon!"
15         while True:
16             time.sleep(1)
17
18     def shutdown(self):
19         """Overrides Daemon().shutdown() with some clean up"""
20         print "Stopping Daemon!"
21
22 if __name__ == "__main__":
23     daemon = MyDaemon('/tmp/daemon-example.pid',
24             '/tmp/daemon.log')
25     if len(sys.argv) == 2:
26         if 'start' == sys.argv[1]:
27             daemon.start()
28         elif 'stop' == sys.argv[1]:
29             daemon.stop()
30         elif 'restart' == sys.argv[1]:
31             daemon.restart()
32         else:
33             print "Unknown command"
34             sys.exit(2)
35         sys.exit(0)
36     else:
37         print "usage: %s start|stop|restart" % sys.argv[0]
38         sys.exit(2)