UNIXプロセス

EuslispからUNIX命令を実行ためにunix:system関数を使用すること。 piped-forkは、標準出力を標準入力がパイプを通してEuslispの双方向ストリームに 接続されるサブプロセスを作成する。 piped-forkはストリームを返す。 以下に示す関数は、"wc"を使用することにより、ファイルに含まれる行の数を 数えるものである。
(defun count-lines (file) (read (piped-fork "wc" file)))

次の例は、他のワークステーション"etlic0"の上にeusプロセスを作成し、 分散計算をするためのポートを提供する。

(setq ic0eus (piped-fork "rsh" "etlic0" "eus"))
(format ic0eus "(list 1 2 3)~%")
(read ic0eus) --> (1 2 3)

ソースコードを修正するために、Euslispからezを呼び出すことができる。 スクリーンエディターezは、メッセージキューを通してEuslispと接続する。 もし、既にezプロセスをEuslispと並列に実行しているならば、 ezはezプロセスを再スタートし、ターミナル制御を得る。 ezの中でesc-Pあるいはesc-M命令を発行することにより、 テキストは戻され、Euslispで評価される。 ファイルに少しの変更を加えたとき、全部のファイルをロードする必要がないので、 デバッグするのにこれは便利である。 emacsの上でもM-X run-lisp命令でおなじことが可能である。



cd &optional (dir (unix:getenv "HOME")) [関数]

現在のディレクトリを変更する。


ez &optional key [関数]

ezエディターの画面に入る。それからLisp書式を読み込み、 評価する。


piped-fork &optional (exec) &rest args [関数]

プロセスをforkし、両方向ストリームをEuslispとサブプロセスの間に作る。


rusage [関数]

このプロセスのリソースの使用状況を表示する。




2016-04-05