目的: 用 python 写了一个监控文件夹的程序,需要长时间运行监控。运行 py 文件之前,需要切换目录和进入虚拟环境。
方案:
我写了一个 sh 脚本,supervisor 来运行此 sh 脚本。
.sh 代码:
cd /var/ftp_root/program/watch
. /root/.virtualenvs/watch/bin/activate
python3 startall.py
问题:
在 sh 脚本中,python3 startall.py 这句起了另外一个进程 python3,这个也是长时间需要运行的。我在 superviosr 关闭.sh 脚本后,该 python3 进程还是在运行。要是使用 supervisor 重启该任务,实际上就会同事存在两个 python3 进程。如何在 supervior 关闭任务的时候,把启动的相关进程也关了?或者像我这样的,有什么其他好的解决方案?