Python - daemon on linux

zdroj

You can also make the python script run as a service using a shell script. First create a shell script to run the python script like this (scriptname arbitary name)


proxy2:/usr/local/bin# cat /usr/local/bin/getCyrusUsers.sh
#!/bin/sh
script='/usr/local/bin/getCyrusUsers.py'
/usr/bin/python $script &

now make a file in /etc/init.d/scriptname

proxy2:/usr/local/bin# cat  /etc/init.d/getCyrusUsers
#! /bin/sh

APPNAME=getCyrusUsers
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/local/bin/getCyrusUsers.sh
PIDFILE=/var/run/$APPNAME.pid

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
  start)
     log_daemon_msg "Starting $APPNAME"
     start_daemon -p $PIDFILE $DAEMON
     log_end_msg $?
   ;;
  stop)
     log_daemon_msg "Stopping $APPNAME"
     killproc -p $PIDFILE $DAEMON
     PID=`ps x |grep feed | head -1 | awk '{print $1}'`
     kill -9 $PID
     log_end_msg $?
   ;;
  force-reload|restart)
     $0 stop
     $0 start
   ;;
  status)
     status_of_proc -p $PIDFILE $DAEMON $APPNAME && exit 0 || exit $?
   ;;
 *)
   echo "Usage: /etc/init.d/$APPNAME {start|stop|restart|force-reload|status}"
   exit 1
  ;;
esac

exit 0

Now you can start and stop your python script using the command /etc/init.d/scriptname start or stop.


Žádné komentáře:

Okomentovat

Server Side Rendering - Next

The Benefits of Server Side Rendering Over Client Side Rendering