ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20.6
PROCESS PROPERTIES

PROCESS PROPERTIES 


 

PROCESS PROPERTIES ( process ; procName ; procState ; procTime {; procMode {; uniqueID {; origin}}} ) 
引数   説明
process  倍長整数 in プロセス番号
procName  文字 in プロセス名
procState  倍長整数 in プロセスの状態
procTime  倍長整数 in プロセスの稼働時間 (Tick)
procMode  ブール, 倍長整数 in TRUE: 表示, FALSE: 非表示
uniqueID  倍長整数 in ユニークなプロセス番号
origin  倍長整数 in プロセスの発生源

説明   

PROCESS PROPERTIESコマンドはprocessに渡したプロセス番号を持つプロセスに関する様々な情報を返します。

注: プロセスが存在しない場合、つまりprocess 引数に1からCount tasksまでの番号を渡さなかった場合、PROCESS PROPERTIES は変数パラメータの変更を行いません。

このコマンド呼出し後に:

  • procName変数はプロセスの名前を返します。プロセス名で注意すべき点は、次のとおりです:
    • プロセスがメソッド実行ダイアログボックスから (新規プロセスオプションを選択した状態で) 起動された場合、プロセスの名前は“P_”で始まりその後に数字が続きます。
    • プロセス開始プロパティが選択されたカスタムメニューから起動されたプロセスの場合には、プロセスの名前は“M_”または“ML_”で始まり、その後に数字が続きます。
    • Webサーバーによりプロセスが開始されれた場合、名前は"Web Process#"+UUIDです。
    • プロセスがアボートしていた場合(そして、そのスロットがまだ再使用されていない場合)、プロセスの名前はそのまま返されます。プロセスがアボートしたかどうかを検出するには、procState=-1を判定します(下記の表を参照)。
  • procState変数は、呼び出しを行った時点のプロセスの状態を返します。この引数は次の定義済定数で提供される値のいずれか1つを返します:
    定数
    Does not exist 倍長整数 -100
    Aborted 倍長整数 -1
    Executing 倍長整数 0
    Delayed 倍長整数 1
    Waiting for user event 倍長整数 2
    Waiting for input output 倍長整数 3
    Waiting for internal flag 倍長整数 4
    Paused 倍長整数 5

 

  • procTime変数は、プロセスが起動されてからの稼働時間をtick数 (1/60秒) で返します。
  • 任意のprocMode 引数はブール型あるいは倍長整数型の変数になります:
    • ブール型の場合、プロセスが表示状態の場合にはTrueを、非表示の場合にはFalseを返します。
    • 倍長整数型の場合、メソッド実行後にビットフィールドを含み、最初の二桁は以下のように設定されます:
      • bit 0は表示プロパティを返します。プロセスが表示状態であれば1、非表示状態であれば0に設定されています。
      • bit 1 はプリエンプティブモードプロパティを返します。プロセスがプリエンプティブモードで実行されていれば1に、コオペラティブモードで実行されていれば0を返します。
        詳細な情報については、プリエンプティブ4Dプロセス の章を参照してください。
  • uniqueIDが 指定された場合には、独自のプロセス番号を返します。各プロセスはプロセス番号と、セッション内でユニークなプロセス番号を持っています。ユニークプロセ ス番号は、2つのプロセス間または2つのプロセスセッションの間で区別することができるようにするものです。これは4Dセッションの間に開始されたプロセ ス番号に対応するものです。
 

  • origin 引数が指定された場合には、プロセスの発生元を表わす値を返します。4Dは下記の定数を定義しています("Process Type" テーマ内):

    定数 コメント
    Apple event manager 倍長整数 -7
    Backup process 倍長整数 -19
    Cache manager 倍長整数 -4
    Client manager process 倍長整数 -31
    Compiler process 倍長整数 -29
    Created from execution dialog 倍長整数 3
    Created from menu command 倍長整数 2
    DB4D Cron 倍長整数 -49
    DB4D Flush cache 倍長整数 -46
    DB4D Garbage collector 倍長整数 -47
    DB4D Index builder 倍長整数 -45
    DB4D Listener 倍長整数 -51
    DB4D Mirror 倍長整数 -50
    DB4D Worker pool user 倍長整数 -48
    Design process 倍長整数 -2
    Event manager 倍長整数 -8
    Execute on client process 倍長整数 -14
    Execute on server process 倍長整数 1
    External task 倍長整数 -9
    HTTP Listener 倍長整数 -56
    HTTP Log flusher 倍長整数 -58
    HTTP Worker pool server 倍長整数 -55
    Indexing process 倍長整数 -5
    Internal 4D server process 倍長整数 -18
    Internal timer process 倍長整数 -25
    Log file process 倍長整数 -20
    Logger process 倍長整数 -57
    Main 4D process 倍長整数 -39
    Main process 倍長整数 -1
    Method editor macro process 倍長整数 -17
    Monitor process 倍長整数 -26
    MSC process 倍長整数 -22
    None 倍長整数 0
    On exit process 倍長整数 -16
    Other 4D process 倍長整数 -10
    Other internal process 倍長整数 -40
    Other user process 倍長整数 4
    Restore Process 倍長整数 -21
    Serial Port Manager 倍長整数 -6
    Server interface process 倍長整数 -15
    ServerNet Listener 倍長整数 -43
    ServerNet Session manager 倍長整数 -44
    SOAP process 倍長整数 -33
    SQL Listener 倍長整数 -54
    SQL Method execution process 倍長整数 -24
    SQL Net Session manager 倍長整数 -53
    SQL Worker pool server 倍長整数 -52
    Web process on 4D remote 倍長整数 -12
    Web process with no context 倍長整数 -3
    Web server process 倍長整数 -13
    Web server spare process 倍長整数 -32
    Worker pool in use 倍長整数 -41
    Worker pool spare 倍長整数 -42
    Worker process 倍長整数 5 ユーザーによってローンチされたワーカープロセス


    注: 4Dの内部プロセスは負の値を返し、ユーザが作成したプロセスは正の値を返します。

次の例は、変数vName, vState, vTimeSpentに現在のプロセスのプロセス名、プロセスステータス、プロセス時間を返します:

 C_TEXT(vName` Initialize the variables
 C_LONGINT(vState)
 C_LONGINT(vTime)
 PROCESS PROPERTIES(Current process;vName;vState;vTimeSpent)

Semaphoreの例題参照

カレントプロセスの表示状態と実行モードを調べたい場合を考えます。以下のようの書く事ができます:

 C_TEXT(vName)
 C_LONGINT(vState)
 C_LONGINT(vTime)
 C_LONGINT(vFlags)
 C_BOOLEAN(isVisible)
 C_BOOLEAN(isPreemptive)
 PROCESS PROPERTIES(Current process;vName;vState;vTime;vFlags)
 isVisible:=vFlags?? 0 //表示状態であればtrue
 isPreemptive:=vFlags?? 1 //プリエンプティブモードであればtrue



参照 

Count tasks
Get process activity
Process state
プリエンプティブ4Dプロセス

 
プロパティ 

プロダクト: 4D
テーマ: プロセス
番号: 336

This command can be run in preemptive processes

 
ページの目次 
 
履歴 

変更: 4D v11 SQL Release 3
変更: 4D v15 R5

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20)
ランゲージリファレンス ( 4D v20.1)
ランゲージリファレンス ( 4D v20.2)
ランゲージリファレンス ( 4D v20.3)
ランゲージリファレンス ( 4D v20.4)
ランゲージリファレンス ( 4D v20.5)
ランゲージリファレンス ( 4D v20.6)