linux打开pythonshall,linux系统shell脚本后台运行python程序
python開發(fā)的同學們應(yīng)該都知道怎么樣去啟動一個python應(yīng)用,但是一旦我們把python應(yīng)用部署到linux服務(wù)器上該如何啟動呢?
方式①:就是使用進程管理工具,比如supervisor。想了解的小伙伴可以學習[這篇文章]
(https://www.cnblogs.com/toutou/p/supervisor.html)。
方式②:就是自己寫一個簡單shell腳本,將程序在后臺運行,即使關(guān)閉linux終端窗口也不會影響進程的運行。
兩者優(yōu)缺點
方式
優(yōu)點
缺點
supervisor進程管理
① 可以通過網(wǎng)頁執(zhí)行啟動停止的操作② 單配置文件可控制多個程序③ 可控制進程數(shù)量4④進程資源控制能力比較強
① 本身需要被監(jiān)控② 開機自啟依賴其他程序③ 不能跨主機④依賴于meld3、setuptools
自寫shell腳本
啟停簡單,無復(fù)雜配置
需要一定的linux知識基礎(chǔ),進程資源控制能力比較弱,簡單的程序啟停工具,存在一定的程序掛的風險。
#! /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 "請傳參數(shù) 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
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的linux打开pythonshall,linux系统shell脚本后台运行python程序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eigen冲突 sophus 安装_SL
- 下一篇: NOI Linux2.0使用系列视频集