如何在子进程Popen进程结束时执行一个函数

问题描述

使用 subprocess 和特别是 popen 运行一系列 perl 脚本,这些脚本在 windos cmd 上运行,这些脚本(在每个末尾)生成一个报告文件。我需要在 n_script 执行过程结束后立即执行我创建的函数

def callPerlScript(command,path):
  arg = command.split(" ")
  path = path + arg[0]
  arg.pop(0)

  perl_script = subprocess.Popen(["C:\\Perl64\\bin\\perl.exe",path] + arg,stdout=sys.stdout)
  perl_script.communicate()
  #Now i want to execute my function after end of process

通过改变路径的值和一些参数,这个函数将在 for 循环中被调用 n_times

path = "location/where/I/saved/the/varIoUs/scripts/"
list = [] #name of each script to execute
for i in list:
 callPerlScript(i,path)

  

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)