ruby - 如何等待进程完成使用 IO.popen?

标签 ruby linux command-line

我在 Ruby 中使用 IO.popen 循环运行一系列命令行命令。然后我需要在循环外运行另一个命令。在循环中的所有命令都终止之前,循环外的命令无法运行。

如何让程序等待这种情况发生?目前最终命令运行得太快了。

一个例子:

for foo in bar
    IO.popen(cmd_foo)
end
IO.popen(another_cmd)

所以所有的 cmd_foos 都需要在 another_cmd 运行之前返回。

最佳答案

显然是 canonical way这样做是:

 Process.wait(popened_io.pid)

关于ruby - 如何等待进程完成使用 IO.popen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1217351/

相关文章:

ruby - 为什么我在使用私钥加密时不能使用 RSA OAEP 填充?

linux - 尝试运行服务时出现 systemctl Exec 格式错误

linux - 在 redhat 上找不到 DPDK 测试应用程序

scripting - 如何区分 VBscript 是从命令行运行还是通过在窗口中单击运行?

java - 将空 shell 变量传递到 Java 命令行会导致 "Error: Could not find or load main class"

ruby-on-rails - 如何干掉这段Ruby代码(Active Admin/rails 3.2)

arrays - 使用 "sort"对 ruby​​ 中的对象数组进行排序

linux - 在linux中更改密码从文件中获取值

c++ - 在没有 GDB 的情况下使用 VS Code 调试 GNU

Ruby:对数组元素进行赋值