因为历史原因,现在有一大堆 py 程序分散于各个目录中(数量大概有百多个),目前是通过 crontab 进行定时执行,维护的时候看见这一大堆计划任务就头痛,于是想给它们做一些整合,期间遇到了一些问题。
原 crontab 的命令模式大致如下:
PYTHONPATH=<code_dir> python3 <code_dir>/xxx/yyy/zzz.py" >> /dev/null 2>&1
我想通过 subprocess.Popen() 的方式来执行这样的命令,但是尝试了多次也无法设置 PYTHONPATH,在网上搜了一番也没找到合适的解决方法。
使用 os.popen() 倒是可以成功执行,但有一定概率会出现僵尸进程。
于是想请教一下大家,如何在 subprocess.Popen() 中设置 PYTHONPATH,或者有更好的方式来执行这样的命令且不会造成僵尸进程。
谢谢!