TUTSchemeでは,UNIXとのインターフェースのために,
以下の関数を用意している.
TUTSchemeを終了する.
子プロセスを生成し, 〈コマンド文字列〉 で表されるコマンドを実行する. 〈引数文字列〉 がコマンドへの引数を与える. コマンド実行時には環境変数 PATHを検索する.
〈文字列〉 がshellに対する入力であるかのようにshellコマンドを実行する.
子プロセスを生成し,〈文字列〉 で表される引数つきのコマンドを 実行する.子プロセスの標準出力は文字列へリダイレクトされ, 子プロセスが終了するとその文字列を返す.
(run-process 〈コマンド文字列〉〈引数文字列〉
〈引数文字列
〉 [:host〈ホスト名〉][:input :pipe][:output :pipe][:error :pipe]) 【関数】
子プロセスを生成し,〈コマンド文字列〉 で表されるコマンドを 非同期に実行する. 〈引数文字列〉
〈引数文字列
〉 がコマンドへの引数を与える. 〈引数文字列
〉
〈引数文字列
〉の それぞれは任意個の引数を含んでよい. `` :host〈ホスト名〉''を指定すると,子プロセスは ホスト 〈ホスト名〉 上に生成される. `` :input :pipe''を指定すると,パイプが生成され,そのパイプは 子プロセスの標準入力へリダイレクトされる. `` :output :pipe''を指定すると,パイプが生成され,子プロセスの 標準出力をそのパイプへリダイレクトする. `` :error :pipe''を指定すると,パイプが生成され,子プロセスの 標準エラー出力をそのパイプへリダイレクトする. run-processは子プロセスのプロセスID,パイプに対する入出力ポート を含んだストラクチャ・データを返す.それぞれのフィールドは, process-pid, process-input, process-output, process-errorを用いて参照することができる.
例:
> (define p (run-process "grep" "a.*e$" :input :pipe :output :pipe))
p
> p
#s(process 384 #<port to pipe> #<port from pipe> #f)
> (dolist (x '(orange apple banana grape aconite))
(format (process-input p) "~a~%
" x))
()
> (close-output-port (process-input p))
#t
> (read (process-output p))
apple
> (read (process-output p))
aconite
> (read (process-output p))
#<end-of-file>
(process-pid 〈ストラクチャ・データ〉) 【関数】
run-processによって生成された子プロセスのプロセスIDを返す.
(process-input 〈ストラクチャ・データ〉) 【関数】
run-processによって生成された子プロセスの標準入力と結合された パイプに対する出力ポートを返す.パイプが生成されていなければ #fを返す.
(process-output 〈ストラクチャ・データ〉) 【関数】
run-processによって生成された子プロセスの標準出力と結合された パイプに対する入力ポートを返す.パイプが生成されていなければ #fを返す.
(process-error 〈ストラクチャ・データ〉) 【関数】
run-processによって生成された子プロセスの標準エラー出力と 結合されたパイプに対する入力ポートを返す.パイプが生成されていなければ #fを返す.
(process-alive? 〈ストラクチャ・データ〉) 【関数】
run-processによって生成された子プロセスがまだ存在すれば #tを返す.そうでなければ #fを返す.
環境変数に値を代入する. 〈文字列〉 は "環境変数名=値" という形を していなければならない( =の前後に空白があってはいけない).
〈文字列〉 の表す環境変数をさがし, もしみつかれば,その環境変数の値を文字列にして返す. みつからなければ空の文字列を返す.
現在の時刻を,以下のつの整数を要素とするベクタとして返す.
今日の日付を,以下のつの整数を要素とするベクタとして返す.
現在のワーキング・ディレクトリの絶対パス名を文字列にして返す.(chdir 〈パス名〉) 【関数】
現在のワーキング・ディレクトリを〈パス名〉に変更し, #tを返す.変更できなければ #fを返す. 〈パス列〉は文字列でなければならない.
TUTScheme の起動時に与えられたコマンド行の引数のリストを保持する.