SystemWorker
システムワーカーを使うことで、4Dコードは同じマシン上で任意の外部プロセス (シェルコマンド、PHPなど ) を呼び出すことができます。 システムワーカーは非同期で呼び出されます。 コールバックを使用することで、4D は 双方向の通信を可能にします。
SystemWorker
クラスは、4D
クラスストアにて提供されています。
例題
// ipconfig 情報へのアクセスを取得する Windows での例
var $myWinWorker : 4D.SystemWorker
var $ipConfig : Text
$myWinWorker:= 4D.SystemWorker.new("ipconfig")
$ipConfig:=$myWinWorker.wait(1).response //timeout 1 second
// ファイルのパーミッションを変更する macOS での例
// chmod はパーミッションを変更するための macOS コマンドです
var $myMacWorker : 4D.SystemWorker
$myMacWorker:= 4D.SystemWorker.new("chmod +x /folder/myfile.sh")
概要
4D.SystemWorker.new ( commandLine : Text { ; options : Object } ) : 4D.SystemWorker 外部プロセスを開始するために commandLine に渡したコマンドラインを実行する 4D.SystemWorker オブジェクトを作成し、返します |
.closeInput() 外部プロセスの入力ストリーム (stdin) を閉じます |
.commandLine : Textnew() 関数に引数として渡したコマンドライン |
[ |
.currentDirectory : 4D.Folder](#currentdirectory) 外部プロセスが実行される作業ディレクトリ |
.dataType : Text レスポンス本文のデータ型 |
.encoding : Text レスポンス本文のエンコーディング |
.errors : Collection 実行エラーの場合、4Dエラー (あれば) のコレクション |
.exitCode : Integer 外部プロセスから返される終了コード |
.hideWindow : Boolean 実行ファイルや DOSコンソールのウィンドウを隠すのに使用できます (Windows のみ) |
.pid : Integer 外部プロセスの、システムレベルでの一意的な識別子 |
.postMessage( message : Text) .postMessage( messageBLOB : Blob) 外部プロセスの入力ストリーム (stdin) への書き込みをおこないます |
.response : Text .response : Blob リクエストが終了した時点で、返された全データの結合 |
.responseError : Text リクエストが終了した時点で、返された全エラーの結合 |
.terminate()SystemWorker の実行を強制終了します |
.terminated : Boolean 外部プロセスが終了された場合に true |
.timeout : Integer 外部プロセスが生きている場合、キルされるまでの秒数 |
.wait( {timeout : Real} ) : 4D.SystemWorkerSystemWorker の実行終了まで、または timeout で指定した時間が経過するまで待機します |
4D.SystemWorker.new()
履歴
リリース | 内容 |
---|---|
19 R4 | 追加 |
4D.SystemWorker.new ( commandLine : Text { ; options : Object } ) : 4D.SystemWorker
引数 | 型 | 説明 | |
---|---|---|---|
commandLine | Text | -> | 実行するコマンドライン |
options | Object | -> | ワーカーパラメーター |
戻り値 | 4D.SystemWorker | <- | 非同期の新規システムワーカー (プロセスが開始されなかった場合は null) |
説明
4D.SystemWorker.new()
関数は、外部プロセスを開始するために commandLine に渡したコマンドラインを実行する 4D.SystemWorker
オブジェクトを作成し、返します。
返されたシステムワーカーオブジェクトは、ワーカーにメッセージを送信したり、ワーカーの結果を取得するために使用できます。
プロキシオブジェクトの生成中に問題があった場合、この関数は null
オブジェクトを返し、エラーが生成されます。
commandLine には、実行するアプリケーションのファイルのフルパス (POSIX シンタックス)、および必要に応じて追加の引数を渡します。 アプリケーション名だけを渡すと、4Dは 実行ファイルを探すために PATH
環境変数を使用します。
警告: この関数は、実行可能なアプリケーションを起動するだけで、シェル (コマンドインタープリター) の一部である命令を実行することはできません。 たとえば Windows で、このコマンドを使用して dir
命令を実行することはできません。
options オブジェクト
options に渡すオブジェクトは、次のプロパティを持つことができます:
プロパティ |
---|