use*_*080 5 ipc stdout pipe julia
我想运行一个进程并捕获它的输出。根据文档,方法open(command, stdio=devnull; write::Bool = false, read::Bool = !write)应该返回一个元组(stream,process)。但是跑步的时候
typeof(open(`ls`))
Run Code Online (Sandbox Code Playgroud)
输出是Base.Process。所以只返回进程,没有流。
我误解了文档吗?我如何启动一个进程并以某种方式捕获它的输出。
这是文档中的一个错误(该函数在 0.6 和 1.0 之间发生了更改,但文档未更新)。
您可以只调用任何“读取”函数,例如read、eachline或readlines在进程上,甚至在命令本身上,例如
readlines(open(`ls`))
readlines(`ls`)
Run Code Online (Sandbox Code Playgroud)