900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux打开pythonshall linux系统shell脚本后台运行python程序

linux打开pythonshall linux系统shell脚本后台运行python程序

时间:2019-07-18 03:55:52

相关推荐

linux打开pythonshall linux系统shell脚本后台运行python程序

python开发的同学们应该都知道怎么样去启动一个python应用,但是一旦我们把python应用部署到linux服务器上该如何启动呢?

方式①:就是使用进程管理工具,比如supervisor。想了解的小伙伴可以学习[这篇文章]

(/toutou/p/supervisor.html)。

方式②:就是自己写一个简单shell脚本,将程序在后台运行,即使关闭linux终端窗口也不会影响进程的运行。

两者优缺点

方式

优点

缺点

supervisor进程管理

① 可以通过网页执行启动停止的操作② 单配置文件可控制多个程序③ 可控制进程数量4④进程资源控制能力比较强

① 本身需要被监控② 开机自启依赖其他程序③ 不能跨主机④依赖于meld3、setuptools

自写shell脚本

启停简单,无复杂配置

需要一定的linux知识基础,进程资源控制能力比较弱,简单的程序启停工具,存在一定的程序挂的风险。

#! /bin/bash

application='/home/wangping/'

a='hello'

b=`ps -aux| grep 'python3 /home/wangping/duty.py' | grep -v 'grep'| wc -l`

if [ ! $1 ];then

echo "请传参数 start|stop|restart"

else

if [ $1 == "start" ];then

if [ "$b" -gt "0" ];then

echo ""

else

nohup python3 /home/wangping/duty.py >${application}info.log 2>log &

echo ""

fi

fi

if [ $1 == 'stop' ];then

pid=`ps -aux | grep 'python3 /home/wangping/duty.py' | grep -v 'grep' | awk '{print $2}'`

if [ ! $pid ];then

echo ""

else

kill -s 9 $pid

echo ""

fi

fi

if [ $1 == 'restart' ];then

pid=`ps -aux | grep 'python3 /home/wangping/duty.py' | grep -v 'grep' | awk '{print $2}'`

if [ ! $pid ];then

nohup python3 /home/wangping/duty.py >${application}info.log 2>log &

echo ""

else

kill -s 9 $pid

nohup python3 /home/wangping/duty.py >${application}info.log 2>log &

echo ""

fi

fi

fi

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