daemonizing a python script: What is better? start-stop-daemon or python-daemon

Viewed 85

I like to start a python program as a daemon. I checked a bit the internet and came up with two solutions.

The first one is to use start-stop-daemon on something like this

#!/bin/sh
start() {
    start-stop-daemon -S -q -m -b -p /var/run/sample.pid --exec /usr/bin/python /bin/sample.py && echo "OK" || echo "Failed"
}

stop() {
    start-stop-daemon -K -q -p /var/run/sample.pid
}

case "${1}" in
    start)
        start
        echo "sample service started"
        ;;

    stop)
        stop
        echo "sample service stopped"
        ;;

    restart)
        stop
        start
        echo "sample service restarted"
        ;;

    *)
        echo "usage: $0 {start|stop|restart}"
        ;;
esac

The second one is to use python-daemon

so I guess we have an extra python file - lets name it "sampleDaemon.py"

import daemon
import sample

with daemon.DaemonContext():
    sample()

And a bash script (I am not sure about that - I guess this way):

#!/bin/sh

/usr/bin/python /bin/sampleDeamon.py

What is the best way to do it? What are the limitations? The python-deamon documentation is not that big(or I didn't found it).

0 Answers
Related