プロセス
Type: Function
Arguments: call-process COMMAND-LINE &key :environ :no-std-handles :input :output :error :exec-directory :show :wait
Package: editor
File: builtin.l
外部プログラムを実行します。完全にxyzzyの外部でプログラムを実行します。
COMMAND-LINE : 実行するコマンドをオプション付で指定します。
:environ : 設定する環境変数を連想リスト形式で渡します。
(("HOME" . "C:/applications/xyzzy/")
("TOPDIR" . "C:/spool/"))
:no-std-handles : (詳細不明)
:input : 標準入力を使用する外部プログラムであれば入力ファイル名
を指定します。
:output : 標準出力を使用する外部プログラムであれば出力ファイル名
を指定します。
:error : (詳細不明)
:exec-directory : 実行するディレクトリを指定します。
:show : 外部プログラムの実行時の大きさを指定します。
:minimize 最小化
:maximize 最大化
上記以外 通常のウィンドウ
:wait : 外部プログラムが終了するのを待ち合わせます。
使用例:
;;; notepad.exeの終了を待ち合わせてみる。
(call-process "notepad" :wait t)
SeeAlso: execute-shell-command
Type: Function
Arguments: count-xyzzy-instance
Package: editor
File: builtin.l
現在起動中のxyzzyの数を返します。
Type: Function
Arguments: execute-shell-command COMMAND &optional INFILE OUTPUT ENVIRON DIRECTORY
Package: editor
File: process.l
外部プログラムを実行します。結果だけをxyzzyに取り込みます。
COMMAND : 実行するコマンドをオプション付で指定します。
INFILE : 標準入力を使用する外部プログラムであれば入力ファイル名を
指定します。
OUTPUT : 標準出力を出力するバッファを指定します。
ENVIRON : 設定する環境変数を連想リスト形式で渡します。
(("HOME" . "C:/applications/xyzzy/")
("TOPDIR" . "C:/spool/"))
DIRECTORY : 実行するディレクトリを指定します。
call-processとは違って標準出力をバッファに出力します。出力するバッファは完
全に破壊されますので注意してください。
使用例:
;;; コマンドプロンプトのhelpを表示してみる。
(execute-shell-command "help" nil (selected-buffer))
SeeAlso: call-process
Type: Function
Arguments: kill-process PROCESS
Package: editor
File: builtin.l
プロセスを強制的に終了させます。
SeeAlso: make-process
Type: Function
Arguments: kill-subprocess
Package: editor
File: process.l
バッファに割り付けられているプロセスを停止させます。
SeeAlso: kill-process
SeeAlso: make-process
Type: Function
Arguments: make-process COMMAND-LINE &key :environ :output :exec-directory :incode :outcode :eol-code
Package: editor
File: builtin.l
プロセスを起動します。
COMMAND-LINE : 実行するコマンドをオプション付で指定します。
:environ : 設定する環境変数を連想リスト形式で渡します。
(("HOME" . "C:/applications/xyzzy/")
("TOPDIR" . "C:/spool/"))
:output : プロセスの標準出力を出力するバッファを指定します。
:exec-directory : 実行するディレクトリを指定します。
:incode : プロセスの入力の文字コードを指定します。
:outcode : プロセスの出力の文字コードを指定します。
:eol-code : 改行コードを指定します。
プロセスへの入力はprocess-send-stringを使用します。
プロセスはバッファに関連付けられ、プロセスの出力がバッファにそのまま出力されます。
また、環境変数や出力先等を変更できます。
参考:
[xyzzy:02210]山本真二さん
call-process または別の組み込み関数で、標準入力、標準出力、標準エラー
出力を直接バッファに繋ぐようにした方が早くてかっこいいと思うのですが、
難しいですか?
(make-process *eshell* :output (selected-buffer))
(process-send-string (buffer-process (selected-buffer))
(concatenate 'string cmd *shell-ret*))
SeeAlso: call-process
Type: Function
Arguments: process-buffer PROCESS
Package: editor
File: builtin.l
プロセスが割り付けられているバッファを返します。
SeeAlso: buffer-process
Type: Function
Arguments: process-eol-code PROCESS
Package: editor
File: builtin.l
PROCESSに設定された改行コードを返します。
SeeAlso: set-process-eol-code
Type: Function
Arguments: process-exit-code PROCESS
Package: editor
File: builtin.l
指定されたプロセスPROCESSの終了コードを取得します。
SeeAlso: process-status
Type: Function
Arguments: process-filter PROCESS
Package: editor
File: builtin.l
PROCESSに設定されたFILTER用の関数を返します。
SeeAlso: set-process-filter
Type: Function
Arguments: process-incode PROCESS
Package: editor
File: builtin.l
PROCESSに設定された入力用の漢字コードを指定します。
SeeAlso: set-process-incode
Type: Function
Arguments: process-outcode PROCESS
Package: editor
File: builtin.l
PROCESSに設定された出力用の漢字コードを指定します。
SeeAlso: set-process-outcode
Type: Function
Arguments: process-send-string PROCESS STRING
Package: editor
File: builtin.l
プロセスに文字列を送ります。
PROCESS : 文字列を送りつけるプロセスを指定します。
STRING : 送りつける文字列を指定します。
使用例:
;;; sort.exeを起動して、"abc" "aab" "aac"を送りつける。
(setq proc (make-process "sort"))
=> #<process 135271372>
(process-send-string proc "abc\n") => t
(process-send-string proc "aab\n") => t
(process-send-string proc "aac\n") => t
(process-send-string proc "^Z") => t
aab
aac
abc
SeeAlso: make-process
Type: Function
Arguments: process-sentinel PROCESS
Package: editor
File: builtin.l
PROCESSに設定されたSENTINEL用の関数を返します。
SeeAlso: set-process-sentinel
Type: Function
Arguments: process-status PROCESS
Package: editor
File: builtin.l
指定されたプロセスの状態を返します。
:run 動作中
:exit 停止
SeeAlso: kill-process
SeeAlso: make-process
Type: Function
Arguments: set-process-eol-code PROCESS CODE
Package: editor
File: builtin.l
PROCESSで処理する場合の改行コードCODEを設定します。
SeeAlso: process-eol-code
Type: Function
Arguments: set-process-filter PROCESS FILTER
Package: editor
File: builtin.l
プロセスの出力を加工するためのフィルタを指定します。
SeeAlso: set-process-outcode
SeeAlso: set-process-incode
SeeAlso: set-process-sentinel
SeeAlso: process-send-string
Type: Function
Arguments: set-process-incode PROCESS CODE
Package: editor
File: builtin.l
プロセスからset-process-filterに入力がある場合の漢字コードを指定します。
SeeAlso: set-process-outcode
Type: Function
Arguments: set-process-outcode PROCESS CODE
Package: editor
File: builtin.l
プロセスに対してsend-process-stringをする場合の漢字コードを指定します。
SeeAlso: set-process-incode
Type: Function
Arguments: set-process-sentinel PROCESS SENTINEL
Package: editor
File: builtin.l
プロセスが終了する場合に呼ばれる関数(いわゆるSENTINEL)を指定します。
SeeAlso: set-process-filter
Type: Function
Arguments: shell-execute FILENAME &optional DIRECTORY PARAMS
Package: editor
File: builtin.l
何かを行います。URLであればそれを開き、実行ファイルであれば実行したり、
拡張子に応じてアプリケーションを実行します。
FILENAME : 何か?URLもOK?
DIRECTORY : どこでそれを実行するかを指定します。
t (cwd)の返されるディレクトリで実行されるみたいです。
nil 特に指定がないのでFILENAMEのディレクトリで実行されます。
質問:
| http://java.sun.com/products/jdk/1.2/docs/api/index.html
| とかをF3キー一発で開けたらって思ってるんです。
こんなかんじでどうぞ。
(defun foo ()
(interactive)
(shell-execute "http://java.sun.com/products/jdk/1.2/docs/api/index.html" t))
Type: Function
Arguments: signal-process PROCESS
Package: editor
File: builtin.l
指定されたプロセスPROCESSにシグナルを送ります。
※SIGINT?
SeeAlso: kill-process