next up previous contents index
: エラー処理機能 : TUTSchemeのマニュアル Version 1.51 : コマンドのまとめ   目次   索引

UNIXとのインターフェース

TUTSchemeでは,UNIXとのインターフェースのために, 以下の関数を用意している.

(bye) 【関数】

TUTSchemeを終了する.

(spawn 〈コマンド文字列〉〈引数文字列〉) 【関数】

子プロセスを生成し, 〈コマンド文字列〉 で表されるコマンドを実行する. 〈引数文字列〉 がコマンドへの引数を与える. コマンド実行時には環境変数 PATHを検索する.

(system 〈文字列〉) 【関数】

〈文字列〉 がshellに対する入力であるかのようにshellコマンドを実行する.

(exec 〈文字列〉) 【関数】

子プロセスを生成し,〈文字列〉 で表される引数つきのコマンドを 実行する.子プロセスの標準出力は文字列へリダイレクトされ, 子プロセスが終了するとその文字列を返す.

(run-process 〈コマンド文字列〉〈引数文字列$_1$$\cdots$〈引数文字列$_n$〉 [:host〈ホスト名〉][:input :pipe][:output :pipe][:error :pipe]) 【関数】

子プロセスを生成し,〈コマンド文字列〉 で表されるコマンドを 非同期に実行する. 〈引数文字列$_1$$\sim$ 〈引数文字列$_n$〉 がコマンドへの引数を与える. 〈引数文字列$_1$$\sim$ 〈引数文字列$_n$〉の それぞれは任意個の引数を含んでよい. `` :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を返す.

(setenv 〈文字列〉) 【関数】

環境変数に値を代入する. 〈文字列〉 は "環境変数名=値" という形を していなければならない( =の前後に空白があってはいけない).

(getenv 〈文字列〉) 【関数】

〈文字列〉 の表す環境変数をさがし, もしみつかれば,その環境変数の値を文字列にして返す. みつからなければ空の文字列を返す.

(get-time) 【関数】

現在の時刻を,以下の$4$つの整数を要素とするベクタとして返す.

(1)
時( 0$\sim$ 23$24$時間制で表す)
(2)
分( 0$\sim$ 59)
(3)
秒( 0$\sim$ 59)
(4)
$100$分の$1$秒( 0$\sim$ 99)

(get-date) 【関数】

今日の日付を,以下の$4$つの整数を要素とするベクタとして返す.

(1)
年(西暦)
(2)
月( 1$\sim$ 12)
(3)
日( 1$\sim$ 31)
(4)
曜日(日曜は 0,月曜は 1$\ldots$,土曜は 6

(getwd) 【関数】

現在のワーキング・ディレクトリの絶対パス名を文字列にして返す.
(chdir 〈パス名〉) 【関数】

現在のワーキング・ディレクトリを〈パス名〉に変更し, #tを返す.変更できなければ #fを返す. 〈パス列〉は文字列でなければならない.

*argv* 【変数】

TUTScheme の起動時に与えられたコマンド行の引数のリストを保持する.


next up previous contents index
: エラー処理機能 : TUTSchemeのマニュアル Version 1.51 : コマンドのまとめ   目次   索引
Tsuneyasu KOMIYA 平成14年2月22日