本文已参与「新人创作礼」活动,一起开启掘金创作之路。
\
一.引言
日志监控时常使用 python + redis 的模式进行 while True 的 7 x 24 监控,监控方法之前实现过类似的任务,可以参考:
Python - FastAPI + SubProcess 手机端实时启动任务_BITDDD小栈-CSDN博客
下面主要介绍下启动任务与结束任务。
二.启动与结束
1.Python 任务
命名 xxxx.py ,While True 逻辑,这里替换监控逻辑为 print
import time
while True:
print "hello world"
time.sleep(5)
2.启动任务
通过 nohup 的形式提交到后台执行,正常情况下程序会一直执行
nohup python -u `pwd`/xxxx.py >> listen.log 2>&1 &
3.结束任务
通过 pf -ef 找到对应的任务,这里 xxxx 最好有一定辨识度,否则容易 Kill 错,随后对得到的数组执行 kill -9 pid 的命令即可,也可以判断数组的长度等等
#!/bin/bash
pids=`ps -fe|grep xxxx | grep xxxx |grep -v grep | awk '{print $2}'`
for pid in ${pids[@]}
do
echo $pid
kill -9 $pid
echo killed
done
echo finish
\