gpt4 book ai didi

monit - 使用Monit监控一个python程序

转载 作者:行者123 更新时间:2023-12-03 23:53:17 27 4
gpt4 key购买 nike

我正在使用 Monit 来监控系统。我有一个我希望监控的 python 文件,我知道我需要创建一个包装脚本,因为 python 不会生成 pid 文件。我按照 site 上的说明进行操作,但是我一直无法启动脚本。我以前从未创建过包装脚本,所以我认为我的脚本中有错误。 monit 的日志显示“启动失败”

监控规则

check process scraper with pidfile /var/run/scraper.pid
start = "/bin/scraper start"
stop = "/bin/scraper stop"

包装脚本

#!/bin/bash

PIDFILE=/var/run/scraper.pid

case $1 in
start)
echo $$ > ${PIDFILE};
source /home
exec python /home/scraper.py 2>/dev/null
;;
stop)
kill `cat ${PIDFILE}` ;;
*)
echo "usage: scraper {start|stop}" ;;
esac
exit 0

最佳答案

使用 exec 将用 exec 的程序替换 shell,这不是你想要的,你希望你的包装脚本在返回之前启动程序并分离它,编写它的PID 到一个文件,以便以后可以停止。

这是一个固定版本:

#!/bin/bash

PIDFILE=/var/run/scraper.pid

case $1 in
start)
source /home
# Launch your program as a detached process
python /home/scraper.py 2>/dev/null &
# Get its PID and store it
echo $! > ${PIDFILE}
;;
stop)
kill `cat ${PIDFILE}`
# Now that it's killed, don't forget to remove the PID file
rm ${PIDFILE}
;;
*)
echo "usage: scraper {start|stop}" ;;
esac
exit 0

关于monit - 使用Monit监控一个python程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23454344/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com