Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v20.6
PROCESS PROPERTIES

PROCESS PROPERTIES 


 

PROCESS PROPERTIES ( processo ; procNome ; procEstado ; procTempo {; procVisivel {; unicoID {; origem}}} ) 
Parâmetro Tipo   Descrição
processo  Inteiro longo in Número do processo
procNome  String in Nome do processo
procEstado  Inteiro longo in Estado do processo
procTempo  Inteiro longo in Tempo acumulado de execução do processo em ticks
procVisivel  Booleano, Inteiro longo in Visível (TRUE) ou Oculto (FALSE)
unicoID  Inteiro longo in Número único do processo
origem  Inteiro longo in Origem do processo

O comando  PROCESS PROPERTIES devolve a informação sobre o processo cujo número de processo se passa em processo.

Nota: Se o processo não existir, o que significa que não passou em processo um número na range 1 a Count tasksPROCESS PROPERTIES deixa os parâmetros variáveis sem modificar.

Depois da chamada:

  • procNome devolve o nome do processo. Alguns pontos a ter em conta acerca do nome do processo:
    • Se o processo foi iniciado desde a caixa de diálogo Executar um método (com a opção Novo processo selecionada), seu nome é “P_” seguido por um número.
    • Se o processo foi iniciado a partir de um comando de menu personalizado cuja propriedade Iniciar um novo processo é selecionada, o nome do processo é “M_” ou “ML_” seguido por um número.
    • Se o processo foi iniciado pelo servidor web, seu nomes é "Web Process#" seguido por um UUID.
    • Se o processo foi suspendido (e seu “espaço” não foi reutilizado), ainda é devolvido o nome do processo. Para detectar se um processo está suspendido, prove procEstado=-1 (ver a continuação).
  • procEstado devolve o estado do processo no momento da chamada. Este parâmetro pode devolver um dos valores oferecidos pelas seguintes constantes predefinidas:
    Constante Tipo Valor
    Does not exist Inteiro longo -100
    Aborted Inteiro longo -1
    Executing Inteiro longo 0
    Delayed Inteiro longo 1
    Waiting for user event Inteiro longo 2
    Waiting for input output Inteiro longo 3
    Waiting for internal flag Inteiro longo 4
    Paused Inteiro longo 5

 

  • procTempo devolve o tempo acumulado que o processo há utilizado desde que começou, em ticks (1/60 de segundo) .
  • O parâmetro opcional procModo pode ser uma variável de tipo booleano ou inteiro longo:
    • Se for de tipo Booleano, devolve True se o processo for visível e False se estiver oculto.
    • Se for de tipo inteiro longo, depois da execução do método, contém um campo de bits onde os dois primeiros bits são definidos:
      • bit 0 devolve a propriedade de visibilidade: 1 se o processo for visível e 0 se estiver oculto
      • bit 1 devolve a propriedade de modo apropriativo: 1 se o processo for executado em modo preemptivo e 0 se for executado em modo cooperativo.
  • unicoID, se especificado, devolve o número único do processo. Na verdade, cada processo tem um número de processo assim como um número único de processo por seção. Este último permite diferenciar entre dois processos ou sessões de processo. Corresponde ao número de processos que tem sido iniciados durante a sessão da aplicação 4D.
 

  • origin, se especificado, retorna um valor que descreve a origem do processo. 4D oferece as constantes pré-definidas abaixo (no tema "Tipo de processo"): 

  • Constante Tipo Valor Comentário
    Apple event manager Inteiro longo -7
    Backup process Inteiro longo -19
    Cache manager Inteiro longo -4
    Client manager process Inteiro longo -31
    Compiler process Inteiro longo -29
    Created from execution dialog Inteiro longo 3
    Created from menu command Inteiro longo 2
    DB4D Cron Inteiro longo -49
    DB4D Flush cache Inteiro longo -46
    DB4D Garbage collector Inteiro longo -47
    DB4D Index builder Inteiro longo -45
    DB4D Listener Inteiro longo -51
    DB4D Mirror Inteiro longo -50
    DB4D Worker pool user Inteiro longo -48
    Design process Inteiro longo -2
    Event manager Inteiro longo -8
    Execute on client process Inteiro longo -14
    Execute on server process Inteiro longo 1
    External task Inteiro longo -9
    HTTP Listener Inteiro longo -56
    HTTP Log flusher Inteiro longo -58
    HTTP Worker pool server Inteiro longo -55
    Indexing process Inteiro longo -5
    Internal 4D server process Inteiro longo -18
    Internal timer process Inteiro longo -25
    Log file process Inteiro longo -20
    Logger process Inteiro longo -57
    Main 4D process Inteiro longo -39
    Main process Inteiro longo -1
    Method editor macro process Inteiro longo -17
    Monitor process Inteiro longo -26
    MSC process Inteiro longo -22
    None Inteiro longo 0
    On exit process Inteiro longo -16
    Other 4D process Inteiro longo -10
    Other internal process Inteiro longo -40
    Other user process Inteiro longo 4
    Restore Process Inteiro longo -21
    Serial Port Manager Inteiro longo -6
    Server interface process Inteiro longo -15
    ServerNet Listener Inteiro longo -43
    ServerNet Session manager Inteiro longo -44
    SOAP process Inteiro longo -33
    SQL Listener Inteiro longo -54
    SQL Method execution process Inteiro longo -24
    SQL Net Session manager Inteiro longo -53
    SQL Worker pool server Inteiro longo -52
    Web process on 4D remote Inteiro longo -12
    Web process with no context Inteiro longo -3
    Web server process Inteiro longo -13
    Web server spare process Inteiro longo -32
    Worker pool in use Inteiro longo -41
    Worker pool spare Inteiro longo -42
    Worker process Inteiro longo 5 Processos Worker lançados pelo usuário
  • Nota: processos internos de 4D retorna um valor negativo e os processos gerados pelo usuário retornam um valor positivo

O seguinte exemplo devolve o nome, o estado, o tempo tomado nas variáveis vNome, vEstado, e vTempoTransc para o processo atual:

 C_TEXT(vNom` Inicializar as variáveis
 C_LONGINT(vEstado)
 C_LONGINT(vTempoTransc)
 PROCESS PROPERTIES(Current process;vNome;vEstado;vTempoTransc)

Ver o exemplo da seção Semaphore.

Se quiser conhecer a visibilidade e o modo de execução do processo atual. Pode escrever:

 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 se visível
 isPreemptive:=vFlags?? 1 //true se preemptivo



Ver também 

Count tasks
Get process activity
Process state
Processos 4D Preemptivos

 
PROPRIEDADES 

Produto: 4D
Tema: Processos
Número 336

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

Modificado: 4D v11 SQL Release 3
Modificado: 4D v15 R5

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v20)
Manual de linguagem 4D ( 4D v20.1)
Manual de linguagem 4D ( 4D v20.2)
Manual de linguagem 4D ( 4D v20.3)
Manual de linguagem 4D ( 4D v20.4)
Manual de linguagem 4D ( 4D v20.5)
Manual de linguagem 4D ( 4D v20.6)