我有一个使用Open3.popen3
. 它工作正常,但有时应用程序会继续运行而无需等待进程完成。
这是我使用的函数Open3.popen3
的样子(本质上它运行一个cat
函数):
def cat_func(var)
## some stuff happens
exit = 0
Open3.popen3(" #{cat_command}"){|stdin, stdout, stderr, wait_thr|
pid = wait_thr.pid
error = std err.gets
exit = wait_thr.value
}
#HERE IS TRYING TO INTERCEPT ERRORS:
if error.match(/^cat:/)
### Do something
end
call_next_function
end
我究竟做错了什么?