ruby – 如何等待进程完成使用IO.popen?
发布时间:2020-12-16 20:42:45 所属栏目:百科 来源:网络整理
导读:我在Ruby中使用IO.popen在循环中运行一系列命令行命令.然后我需要在循环之外运行另一个命令.循环之外的命令不能运行,直到循环中的所有命令都终止为止. 如何使程序等待这种情况发生?目前最终的命令运行得太早了. 一个例子: for foo in bar IO.popen(cmd_foo
我在Ruby中使用IO.popen在循环中运行一系列命令行命令.然后我需要在循环之外运行另一个命令.循环之外的命令不能运行,直到循环中的所有命令都终止为止.
如何使程序等待这种情况发生?目前最终的命令运行得太早了. 一个例子: for foo in bar IO.popen(cmd_foo) end IO.popen(another_cmd) 所以所有cmd_foos需要返回之前another_cmd运行. 解决方法
我想你需要将循环内的IO.popen调用的结果分配给变量,并继续调用read(),直到eof()变为true为止.
然后你知道所有的程序都完成了执行,你可以启动另一个_cmd. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |