spawn-host-process (プロシージャ)
public {spawn-host-process
host-environment:#{Association-of String, String} = null,
write-stdin?:bool = false,
read-stdout?:bool = false,
read-stderr?:bool = false,
detached?:bool = false,
suppress-console-window?:bool = false,
executable:any,
args:StringArray
}:HostProcess
パッケージ: CURL.RUNTIME.HOST-PROCESS

指定されたホスト固有のコマンドを子プロセスで起動し、バックグラウンド プロセスにハンドルを返します。

executable: 子プロセスで起動される実行可能ファイル。実行可能ファイルは、ローカル ファイル システムの Url として、またはローカル ファイル名を含んでいる String として指定される可能性があります。
args: コマンドのパラメータが格納されます。パラメータは、StringArray に格納された 0 個以上の引数として指定されます。
host-environment: このパラメータが null でない場合、このパラメータには、コマンドの明示的なホスト環境が含まれていなければなりません。このパラメータが NULL の場合は、子プロセスが既存のホスト環境を継承します。
write-stdin?: このパラメータが true に設定されている場合は、リターンされた HostProcess から子プロセスの標準入力を取得できます。
read-stdout?: この引数が true に設定されている場合は、リターンされた HostProcess から子プロセスの標準出力を取得できます。
read-stderr?: この引数が true に設定されている場合は、リターンされた HostProcess から子プロセスの標準エラーを取得できます。
detached?: この引数を true に設定した場合、生成される HostProcess は生成側との対話なしで実行されます。結果として write-stdin?read-stdout? および read-stderr? が無視されることに注意してください。
suppress-console-window?: この引数を true に設定した場合、コンソール モードが実行可能であっても生成される HostProcess はコンソール ウィンドウなしで実行されます。

戻り値

子プロセスとのやりとりに使用される可能性がある HostProcess

説明

executable が、ファイルシステム パス区切り文字を含まない String である場合は、プラットフォームの規則に従って、PATH (または同等のホスト) が検索されます。

Windows では、引数リストは、プラットフォーム固有の引用規則に従って 1 つのコマンドライン文字列に変換されます。この規則により、 標準のシステム ライブラリーを使用してコマンドラインを構文解析する Windows アプリケーションで元の引数リストを回復できます。

子プロセスの入力と出力に接続するときは、子プロセスの入力への Stream を閉じた後に子プロセスの出力の読み取りを開始するとよいでしょう。子プロセスが、その標準入力で部分的な読み取りを期待するように作成されていない限り、Stream をフラッシュするだけでは十分ではありません。

子プロセスは、親の標準入力、標準出力、標準エラーの各ストリームを共有します。ただし、こうしたストリームが特別に取り込まれている場合は除きます。このようなストリームを親と子でバッファリングすると、こうしたストリームでの読み書きの順序がわかりにくくなるおそれがあります。

エラーが同期的に発生することがあり、その場合には、すぐに Exception がスローされます。あるいは、エラーが非同期的に発生することがあり、その場合には、返される HostProcess を介してステータスを取得できます。

これは特権プロセスにのみ使用が許可されています。 詳細に関しては、特権アプレット を参照してください。