StartProcess

StartProcess["executable"]
外部プログラムを実行し,結果のサブプロセスを表すProcessObjectを返す.

StartProcess[{"executable",arg1,arg2,}]
外部プロセスを実行し,これに指定された引数 を渡す.

詳細詳細

  • StartProcessは,指定したプロセスが開始できる場合はProcessObjectを返す.それ以外の場合は$Failedを返す.
  • StartProcessを使って,実行中のプロセスとインタラクトすることができる.Wolfram Engineをブロックせずに「バックグラウンドタスク」を実行することもできる.
  • StartProcessは即座に戻り,開始されたプロセスが完了するのは待たない.プロセスの終了を待つのであればRunProcessを使うとよい.
  • では,ToStringを使って文字列に変換される.
  • Wolfram EngineはProcessObjectで表されるサブプロセスと,WriteLineWriteStringBinaryWriteReadLineReadStringBinaryRead等の関数を使って交信できる.
  • 標準の入力と出力およびエラーストリームは,ProcessConnectionを使って表すことができる.
  • サブプロセスに関する情報は,ProcessStatusおよびProcessInformationを使って求めることができる.
  • 使用可能なオプション
  • ProcessDirectoryInherited初期作業ディレクトリ
    ProcessEnvironmentInheritedサブプロセス与える環境変数
  • デフォルトで,サブプロセスはWolfram Engineからそのプロセスのディレクトリと環境変数を継承する.
  • Wolfram Engineが終了されると,サブプロセスも強制終了される.
  • 引数 のいずれかが"name"->value の形の場合は,の形に変換される.name が単一の文字の場合は,ダッシュは1つしか使われない.

例題例題すべて開くすべて閉じる

  (1)  (1)

システムのシェルプロセスを開始する:

In[1]:=
Click for copyable input
Out[1]=

システムのシェルプロセスにコマンドを書く:

In[2]:=
Click for copyable input

コマンド出力を読む:

In[3]:=
Click for copyable input
Out[3]=

プロセスが実行中かどうかをチェックする:

In[4]:=
Click for copyable input
Out[4]=

exitコマンドをシェルプロセスに書き込む:

In[5]:=
Click for copyable input

プログラムが実際に終了されたことを確かめる:

In[6]:=
Click for copyable input
Out[6]=
2014年に導入
(10.0)