900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)

ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)

时间:2019-06-19 10:49:03

相关推荐

ubuntu执行python脚本_在启动时运行python脚本作为守护进程(Ubuntu)

除了gg.kaspersky方法,您还可以将脚本转换为“服务”,以便您可以使用以下命令启动或停止它:

$sudo service myserver start

* Starting system myserver.py Daemon [ OK ]

$sudo service myserver status

* /path/to/myserver.py is running

$sudo service myserver stop

* Stopping system myserver.py Daemon [ OK ]

并将其定义为启动服务,方法如下:

$sudo update-rc.d myserver defaults

为此,您必须创建此文件并将其保存在/etc/init.d/中.

#!/bin/sh -e

DAEMON="/path/to/myserver.py"

DAEMONUSER="myuser"

DAEMON_NAME="myserver.py"

PATH="/sbin:/bin:/usr/sbin:/usr/bin"

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

d_start () {

log_daemon_msg "Starting system $DAEMON_NAME Daemon"

start-stop-daemon --background --name $DAEMON_NAME --start --user $DAEMONUSER --exec $DAEMON

log_end_msg $?

}

d_stop () {

log_daemon_msg "Stopping system $DAEMON_NAME Daemon"

start-stop-daemon --name $DAEMON_NAME --stop --retry 5 --name $DAEMON_NAME

log_end_msg $?

}

case "$1" in

start|stop)

d_${1}

;;

restart|reload|force-reload)

d_stop

d_start

;;

force-stop)

d_stop

killall -q $DAEMON_NAME || true

sleep 2

killall -q -9 $DAEMON_NAME || true

;;

status)

status_of_proc "$DAEMON_NAME" "$DAEMON" "system-wide $DAEMON_NAME" && exit 0 || exit $?

;;

*)

echo "Usage: /etc/init.d/$DAEMON_NAME {start|stop|force-stop|restart|reload|force-reload|status}"

exit 1

;;

esac

exit 0

在这个例子中,我假设你的python文件的头部有一个像#!/usr/bin/python这样的剪贴板,可以直接执行.

最后但并非最不重要的是,不要忘记给你的python服务器和服务脚本赋予执行权限:

$sudo chmod 755 /etc/init.d/myserver

$sudo chmod 755 /path/to/mserver.py

这里是我原来学习的page(法语).

干杯.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。