Comment detail

指定コマンドを別プロセスで起動 (Nested Flatten)
コマンドを実行するだけならSys.commandで。戻り値も得られます。
出力を利用する場合はopen_processがin,out,fullなどと色々用意されています。
終了値はclose_processの時に返ります。

  あと標準入力を開いたとき、read_lineのような一行入力モノは
'\n'を書き込んでflushするまで終わりません。
output_stringは文字列中に\nがないと改行されないので、少し注意が必要です。
1
2
3
4
5
6
7
#load "unix.cma";;
let stdout_iter f cmd =
  let proc = Unix.open_process_in cmd in
  (try while true do f (input_line proc) done with _ -> ());
  Unix.close_process_in proc;;

stdout_iter (Printf.printf "  > %s\n") "ps";;

Index

Feed

Other

Link

Pathtraq

loading...