D 1.0   D 2.0
About Japanese Translation

Last update Thu Sep 16 11:26:00 2010

std.process

Source:
std/process.d

License:
Boost License 1.0.

Authors:
Walter Bright, Andrei Alexandrescu

int system(string command);
コマンドシェルで command を実行します

Returns:
commandnull の場合、 コマンドシェルが存在すれば非ゼロ、しなければゼロを返します。commandnull でない場合、エラー時には -1、コマンドが実行されたときには command の終了コードを返します。

Note:
Unix システムでは、対応する C言語の関数 (Dプログラムからは std.c.system関数として呼び出せます) は、終了コードを waitpid と同じ形式で返します。 これは C では実際の終了コードを得るには WEXITSTATUS マクロを通す必要があることを意味しますが、D の system は自動的に終了コードを取り出して返します。

int execv(in string pathname, in string[] argv);
int execve(in string pathname, in string[] argv, in string[] envp);
int execvp(in string pathname, in string[] argv);
int execvpe(in string pathname, in string[] argv, in string[] envp);
pathname で指定されたプログラムを、引数 (argv) と環境変数 (envp) を与えて実行し、その終了ステータスを返します。 'p' のついたバージョンは、program の探索のために PATH 環境変数を参照します。

string shell(string cmd);
Runs cmd をシェルで実行し、標準出力を返します。 プロセスが実行できなかったりエラーコードを返したときは、 例外を投げます。

Example:
   auto tempFilename = chomp(shell("mcookie"));
   auto f = enforce(fopen(tempFilename), "w");
   scope(exit)
   {
       fclose(f) == 0 || assert(false);
       system("rm " ~ tempFilename);
   }
   ... f を使う ...

string getenv(in char[] name);
環境変数 name の値を文字列で取得します。 内部で std.c.stdlib.getenv を呼び出します。

alias environment;
環境変数を連想配列風のインターフェイスで扱えます。

Examples:
    // 環境変数を返すか、存在しなければ例外を投げる
    auto path = environment["PATH"];

    // 環境変数の追加/置き換え
    environment["foo"] = "bar";

    // 環境変数の消去
    environment.remove("foo");

    // 環境変数を返すか、存在しなければnull
    auto foo = environment.get("foo");

    // 環境変数を返すか、存在しなければデフォルト値
    auto foo = environment.get("foo", "default foo value");

    // 全ての環境変数を含む
    // 連想配列 string[string] を求める
    auto aa = environment.toAA();