メインコンテンツまでスキップ
バージョン: 開発中

Get process activity

Get process activity {( options )} -> 戻り値

引数説明
options倍長整数🡒返されるオプション
戻り値オブジェクト🡐実行中のプロセスまたはユーザーセッション(4D Serverのみ)のスナップショット

説明

Get process activity コマンドは特定の時刻での、接続ユーザーセッションや関連する実行中のスナップショットを返します。このコマンドは、全てのプロセスを返します。これには、PROCESS PROPERTIES コマンドでもアクセスできない内部プロセスも含まれます。

  • サーバー上で実行され、options 引数を省略した場合には、Get process activity はデフォルトでユーザーセッションとプロセスの一覧の両方を、以下のように返します。
{"sessions": [          {             "type": "remote",             "userName": "Designer",             "machineName": "iMac27caroline",             "systemUserName": "Caroline Briaud",             "IPAddress": "192.168.18.18",             "hostType": "mac",             "creationDateTime": "2017-09-22T12:46:39Z",             "state": "postponed",             "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5"           },...       ],"processes": [          {             "name": "Application process",             "sessionID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5",             "number": 4,             "ID": 4,             "visible": true,             "systemID": "123145476132864",             "type": -18,             "state": 0,             "cpuUsage": 0,             "cpuTime": 0.006769,             "preemptive": false,             "session": {                         "type": "remote",                      "userName": "Designer",                      "machineName": "iMac27caroline",                      "systemUserName": "Caroline Briaud",                      "IPAddress": "192.168.18.18",                      "hostType": "mac",                      "creationDateTime": "2017-09-22T12:46:39Z",                      "state": "postponed",                      "ID": "3C81A8D7AFE64C2E9CCFFCDC35DC52F5"                       }           },...    ]}  

options 引数に"4D Environment"テーマ内にある以下の定数のいづれか一つを渡すことで、返される一覧を選択することができます:

定数コメント
Processes only倍長整数1プロセスの一覧のみを返します。
Sessions only倍長整数2セッションの一覧のみを返します。
  • リモート、あるいはローカルモードの4D で実行された場合、Get process activity はプロセスの一覧のみを返します(この場合options 引数は意味を持ちません)。
セッションの一覧

"sessions" プロパティには、サーバーで実行中の全てのユーザーセッションを記述するオブジェクトのコレクションが格納されます。

それぞれのセッションオブジェクトには以下のプロパティが含まれます:

プロパティ名詳細
typeテキスト (enum)セッションのタイプ。取り得る値: "remote"、"storedProcedure"、"web"、"rest"
userNameテキストユーザー名
machineNameテキストリモートマシンの名前
systemUserNameテキストリモートマシン上で開かれているシステムセッションの名前
IPAddressテキストリモートマシンのIP アドレス
hostTypeテキスト (enum)ホストのタイプ。取り得る値: "windows"、"mac"、"browser"
creationDateTimeDate ISO 8601リモートマシンの接続の日付と時刻
stateテキスト (enum)セッションの状態。取り得る値: "active"、"postponed"、"sleeping"
IDテキストセッション UUID
persistentIDテキストセッションの永続的な ID

注意: カレントクライアント、またはストアドプロシージャーセッションのオブジェクトは、Session コマンドを使用することで取得できます。

プロセスの一覧

"process"プロパティには、サーバーで実行中の全てのプロセスを記述するオブジェクトのコレクションが格納されます。

それぞれのプロセスオブジェクトには以下のプロパティが含まれます:

プロパティ名詳細
nameテキストプロセス名
sessionIDテキストセッション UUID
numberLongintプロセス番号
IDLongintプロセスの固有ID
visibleBoolean表示ならTrue、それ以外はFalse
systemIDTextユーザープロセス、4Dプロセス、あるいはスペアプロセスのID
type倍長整数実行中のプロセスの型。"Process Type"テーマ内の以下の定数を使用することができます:
定数コメント
HTTP Log flusher-58
Logger process-57
HTTP Listener-56
HTTP Worker pool server-55
SQL Listener-54
SQL Net Session manager-53
SQL Worker pool server-52
DB4D Listener-51
DB4D Mirror-50
DB4D Cron-49
DB4D Worker pool user-48
DB4D Garbage collector-47
DB4D Flush cache-46
DB4D Index builder-45
ServerNet Session manager-44
ServerNet Listener-43
Worker pool spare-42
Worker pool in use-41
Other internal process-40
Main 4D process-39
SOAP process-33
Web server spare process-32
Client manager process-31
Compiler process-29
Monitor process-26
Internal timer process-25
SQL Method execution process-24
MSC process-22
Restore Process-21
Log file process-20
Backup process-19
Internal 4D server process-18
Method editor macro process-17
On exit process-16
Server interface process-15
Execute on client process-14
Web server process-13
Web process on 4D remote-12
Other 4D process-10
External task-9
Event manager-8
Apple event manager-7
Serial Port Manager-6
Indexing process-5
Cache manager-4
Web process with no context-3
Design process-2
Main process-1
None0
Execute on server process1
Created from menu command2
Created from execution dialog3
Other user process4
Worker process5ユーザーによってローンチされたワーカープロセス
state倍長整数カレントの状態(Process State の定数の一覧を参照してください)
cpuUsage実数このプロセスに使用された時間の割合(0から1の間)
cpuTime実数実行時間(秒)
preemptiveブールプリエンプティブ実行中ならTrue、それ以外にはfalse
sessionオブジェクトプロセスが実行されている特定のセッション。Processes only 引数が渡された場合には未定義
urlテキストWeb サーバー上で実行中のWeb(-3)あるいはSOAP(-33)プロセスのURLおよびそのパスと引数(あれば)。他のタイプのプロセスに対しては返されません。

例題

全てのユーザーセッションの情報を取得したい場合を考えます:

  //サーバー側で実行すること
 
 var $o : Object
 var $i : Integer
 
 $o:=Get process activity //プロセスとセッションの情報を取得
 For($i;0;($o.processes.length)-1) // "processes" コレクションに対してループを実行
    $processName:=$o.processes[$i].name
    $userName:=String($o.processes[$i].session.userName) // userName に簡単にアクセスする
  // session オブジェクトがUndefined の場合があるのでString コマンドを必ず使用すること
 End for

参照

PROCESS PROPERTIES
Session storage by ID
WEB Get server info