unix crontab不能很好地处理python的subprocess.popen
发布时间:2020-12-15 22:33:56 所属栏目:安全 来源:网络整理
导读:我正在使用crontab启动一个 python脚本,假设使用subprocess.popen()自行启动几个procceses.我使用此命令启动可能需要30分钟的过程 – 所以我不想等待结果,而是继续使用我原来的crontab运行脚本.问题是crontab似乎像subprocess.call一样处理subprocess.popen
我正在使用crontab启动一个
python脚本,假设使用subprocess.popen()自行启动几个procceses.我使用此命令启动可能需要30分钟的过程 – 所以我不想等待结果,而是继续使用我原来的crontab运行脚本.问题是crontab似乎像subprocess.call一样处理subprocess.popen!
我可以在我的日志文件和进程列表中清楚地看到第一个popen成功但它不会在后台继续 – 它等到firts popen进程结束… 这可能是因为我将stderr / steout重定向到文件?我没有看到连接但可能…… 我的代码如下: # inside process spawning loop # open and append process to list mainLogger.debug("about to launch process with popen") scoopPopenObj = subprocess.Popen(cmdArgsString,shell=True,stdout=qScoopLogFile,stderr=qScoopLogFile) openScoops.append((fileName,time.time(),scoopPopenObj)) # rest of script,here is where i dont get until scoopPopenObj finishes.. 有任何想法吗? 解决方法
我不确定这与问题有关,但是当将stderr重定向到与stdout相同的管道时,你应该使用stderr = subprocess.STDOUT,如
documentation中所述.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |