使用標準函式庫執行外部命令並處理標準輸出

任務

作業系統 / 執行外部命令並處理標準輸出

未使用任何套件

此食譜僅使用 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

食譜無法運作嗎?註解不清楚或過時嗎?

開啟一個 issue為此食譜做出貢獻

此任務的其他食譜