如何使用IO.popen等待进程完成?
我IO.popen
在Ruby中使用它来循环运行一系列命令行命令。然后,我需要在循环外部运行另一个命令。直到循环中的所有命令都终止后,循环外部的命令才能运行。
我如何使程序等待这种情况发生?目前,最终命令运行得太早。
一个例子:
for foo in bar IO.popen(cmd_foo)
end
IO.popen(another_cmd)
因此cmd_foos
,在another_cmd
运行之前所有需要返回的内容。
回答:
我认为您需要将IO.popen
循环内调用的结果分配给变量,并继续调用read()
它们,直到eof()
所有变量变为真为止。
然后,您知道所有程序都已完成执行,就可以开始了another_cmd
。
以上是 如何使用IO.popen等待进程完成? 的全部内容, 来源链接: utcz.com/qa/419106.html