多个python服务的启停方法

第一次接触开发一个网站的项目,自己负责的后端的一个功能的实现,包含几个基础服务。主要语言使用的是python,其中涉及到python服务的启停,学习团队内各位大佬的代码,首次使用启停脚本,记录一下。

(服务包含三个python程序:after_repl_jiekou.py,before_jiekou.py,redis_queue_web.py)

最开始的时候,启停代码如下(不建议):

 start.sh

#!/bin/bash
#source /root/.bashrc
source activate py27
nohup python ./after_repl_jiekou.py &
echo $! > sign_after_pid &
nohup python ./before_jiekou.py &
echo $! > sign_before_pid &
nohup python ./redis_queue_web.py &
echo $! > sign_redis_web_pid &

stop.sh

#!/bin/bash

cat sign_after_pid|xargs kill -9
cat sign_before_pid|xargs kill -9
cat sign_redis_web_pid|xargs kill -9

上述启动代码没有问题,但是停止代码总是报错,找不到pid号,所以进程就杀不死

于是后来启停代码改为下面的:

 start.sh

#!/bin/bash
#source /root/.bashrc
source activate py27
nohup python ./after_repl_jiekou.py > log_after 2>&1 &
echo $! > sign_after_pid &
nohup python ./before_jiekou.py > log_before 2>&1 &
echo $! > sign_before_pid &
nohup python ./redis_queue_web.py > log_redis_queue 2>&1 &
echo $! > sign_redis_web_pid &

stop.sh

#!/bin/sh
processName="after_repl_jiekou.py"
process_id=`ps -ef | grep $processName | grep -v "grep" | awk '{print $2}'`
for id in $process_id
do
    kill -9 $id
    echo "killed $id $processName"  
done

processName="before_jiekou.py"
process_id=`ps -ef | grep $processName | grep -v "grep" | awk '{print $2}'`
for id in $process_id
do
    kill -9 $id
    echo "killed $id $processName"  
done

processName="redis_queue_web.py"
process_id=`ps -ef | grep $processName | grep -v "grep" | awk '{print $2}'`
for id in $process_id
do
    kill -9 $id
    echo "killed $id $processName"  
done

其中pid号通过下面命令得到:

`ps -ef | grep $processName | grep -v "grep" | awk '{print $2}'`

    ps命令将某个进程显示出来

    grep命令是查找

    中间的|是管道命令 是指ps命令与grep同时执行

    例如:检查java 进程是否存在:ps -ef |grep java

    awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理

启动停止可以执行下面语句实现启停服务:

sh start.sh
sh stop.sh

 

辅助参考资料:

https://blog.csdn.net/liang19890820/article/details/74011983 启停服务相关

https://www.cnblogs.com/freinds/p/8074651.html ps与grep使用详解

https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html awk介绍

 

希望对你有帮助哦~

posted @ 2020-08-14 11:35  娜娜_nana  阅读(539)  评论(0)    收藏  举报