使用標準函式庫執行外部命令並處理標準輸出
任務
作業系統 / 執行外部命令並處理標準輸出
未使用任何套件
此食譜僅使用 OCaml 標準函式庫。程式碼
Unix.open_process_in
函式會與程式平行執行指定的命令。命令的標準輸出會重新導向到一個管道,該管道可以透過返回的輸入通道讀取。
let run cmd =
let inp = Unix.open_process_in cmd in
let r = In_channel.input_all inp in
In_channel.close inp; r
我們在 POSIX shell 上使用參數 -x
呼叫 ps
命令,並印出其標準輸出。
let () =
let ps_output = run "ps -x" in
ps_output
|> print_endline