您会注意到有 IO.popen,但没有 IO.popen3。要获得它,请执行 require 'open3'(如 Open3.popen3)。
popen 和 popen3 之间的主要区别在于,popen3 让您可以访问进程的输入输出流。另外要注意,如果您向进程传递的某个管道写入大量数据,则该管道可能会阻塞,所以您需要读取这些流。