如何在subprocess.Popen启动的Perl脚本进程结束后执行自定义函数
Windows环境下基于Popen的Perl脚本调度回调实现
业务场景
基于Python subprocess 模块的 Popen 能力,在Windows CMD环境下批量运行多份Perl脚本。每份Perl脚本执行完成后会生成对应的独立报告文件,核心功能诉求为:当某一份Perl脚本的执行进程完全终止时,立即触发自定义函数执行,无需等待全部脚本批量运行结束。
当前已完成的封装能力
- 已封装
callPerlScript通用方法,支持自动拆分命令参数、拼接Perl脚本路径,可通过Popen正常拉起Perl子进程 - 已在方法中调用
communicate()关联子进程的输出流,可捕获运行过程中的标准输出、错误信息 - 当前未覆盖的逻辑:未在子进程完全退出的节点加入自定义函数的触发执行逻辑
后续扩展安排
callPerlScript方法后续将嵌入for循环流程,遍历全量待执行脚本列表,通过动态修改脚本路径、调整匹配对应执行参数的方式,完成所有Perl脚本的批量调度。
内容的提问来源于stack exchange,提问作者Lorenzo__
相关产品推荐
相关产品推荐

