Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Pagetitle
GetSrvInfo
GetSrvInfo

...

Função: GetSrvInfo

Retorna

...

um

...

array

...

com

...

as

...

definições

...

do servidor onde o

Inclusão de trecho
tecen:Application Server
tecen:Application Server
nopaneltrue
foi instanciado.

Sintaxe

Bloco de código
collapsefalse
GetSrvInfo()

Retorno

Nome

Tipo

Descrição

aSrvInfo

array

GetSrvInfo ( ) --> aRet

...

Retorna um array com

...

informações do

Inclusão de trecho
tecen:Application Server
tecen:Application Server
nopaneltrue
. Para o formato do array vide observação.

Observações

Estrutura do array de retorno:

Posição

Tipo

Descrição

aSrvInfo[1]

Caractere

Nome do servidor

aSrvInfo[2]

Caractere

Sistema Operacional

aSrvInfo[3]

Caractere

InformaûÏûçes adicionais do sistema operacional

aSrvInfo[4]

Caractere

Memória

aSrvInfo[5]

Caractere

Número de processadores

aSrvInfo[6]

Caractere

Velocidade do processador

aSrvInfo[7]

Caractere

Identificação do processador

aSrvInfo[8]

Caractere

Locale do sistema operacional

aSrvInfo[9](1)

Caractere

Nome do locale do sistema operacional

aSrvInfo[10](2)

Caractere

SMBIOS UUID/Host ID

aSrvInfo[11](3)

Array

Array com as interfaces de rede do servidor*

aSrvInfo[12](4)

Caractere

Arquitetura do processador*

aSrvInfo[13](5)

Caractere

Detalhes do Sistema Operacional, no formato de uma string JSON.

(1) Disponível em build igual ou superior a 13.1.0.0.

(2) Disponível em build igual ou superior a 13.1.0.0. Para o "TOTVSTEC NG" no linux, dê permissões especial de execução no dmidecode (Ex. chmod a+s /usr/sbin/dmidecode) coloque-o no PATH (Ex: export PATH=${PATH}:/usr/sbin).

(3) Disponível em build igual ou superior a 13.1.0.0.

Estrutura do Array das interfaces de rede:

Posição

Tipo

Descrição

1

Array

Detalhes da interface

Detalhes da Interface:

Posição

Tipo

Descrição

1

Caractere

Nome da interface

2

Caractere

MAC Address da interface

(4) Disponível em versão igual ou superior a 20.3.1.3 do

Inclusão de trecho
tecen:Application Server
tecen:Application Server
nopaneltrue
. Retorna a arquitetura do processador no formato linux base. Valores possíveis: 32 bits - i686, 64 bits - x86_64, ARM - aarch32, ARM64 - aarch64, Desconhecido - unknown.

(5) Disponível em versão igual ou superior a 24.3.0.0 do

Inclusão de trecho
tecen:Application Server
tecen:Application Server
nopaneltrue
.

  • O processo de resolução de nomes depende inclusive do sistema operacional utilizado, e em algumas distribuições do Linux (exemplo Red Hat, SUSE) podem requerer configurações adicionais do sistema operacional.
  • A partir da build 13.1.0.0, a função retorna informações do
    Inclusão de trecho
    tecen:Application Server
    tecen:Application Server
    nopaneltrue
    para e sendo executados em dispositivos Android.

Exemplos

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
User function exemplo()
  local aSrvInfo := GetSrvInfo()
  local cDetails := ""
  local i := 0
  cDetails := "Nome Computador: " + aSrvInfo[01] + chr(13) + chr(10) // Nome do servidor
  cDetails += "Sistema Operacional: " + aSrvInfo[02] + chr(13) + chr(10) // Sistema Operacional
  cDetails += "Informações Adicionais do SO: " + aSrvInfo[03] + chr(13) + chr(10) // Informações adicionais do sistema operacional
  cDetails += "Memória: " + aSrvInfo[04] + chr(13) + chr(10) // Memória
  cDetails += "Número de Processadores: " + aSrvInfo[05] + chr(13) + chr(10) // Número de processadores
  cDetails += "Velocidade do Processador: " + aSrvInfo[06] + chr(13) + chr(10) // Velocidade do processador
  cDetails += "Identificação do Processador: " + aSrvInfo[07] + chr(13) + chr(10) // Identificação do processador
  cDetails += "Linguagem: " + aSrvInfo[08] + chr(13) + chr(10) // Locale do sistema operacional
  cDetails += "Nome da Linguagem: " + aSrvInfo[09] + chr(13) + chr(10) // Nome do locale do sistema operacional
  cDetails += "UUID: " + aSrvInfo[10] + chr(13) + chr(10) // SMBIOS UUID/Host ID
  for i := 1 to len(aSrvInfo[11])
    cDetails += "Interface: " + " " + aSrvInfo[11][i][1] + chr(13) + chr(10) // Nome da interface
    cDetails += "Mac Address: " + " " + aSrvInfo[11][i][2] + chr(13) + chr(10) // Mac Address da interface
  next i
  // Novo campo válido a partir da versão 20.3.1.3 do TOTVS | Application Server
  cDetails += "Arquitetura do Processador: " + aSrvInfo[12] + chr(13) + chr(10) // Arquitetura do processador
  // Novo campo válido a partir da versão 24.3.0.0 do TOTVS | Application Server
  cDetails += "Detalhes SO: " + aSrvInfo[13] + chr(13) + chr(10) // Detalhes do SO
  msginfo(cDetails)
Return

Resultado do exemplo Windows

Image Added

Resultado do exemplo Linux

Image Added

Veja também

Em build superior a versão 7.00.131227A, a função retornará também informações de AppServer para e sendo executado em dispositivos Android.
Na distribuição RedHat, é necessário setar o nome do host com o comando "/bin/hostname <<nomedohost>>", e informar no /etc/hosts o ip e hostname da máquina para que o GetServerIP funcione.
No PPC64 será retornado o Host ID da máquina e não SMBIOS UUID.

Estrutura do array de retorno:

aInfoComp[1]: Nome do Computador
aInfoComp[2]: Sistema Operacional
aInfoComp[3]: Informação adicional - [Windows o ServicePack] [Linux o "/proc/version"]
aInfoComp[4]: Memória Física
aInfoComp[5]: Nr. de Processadores
aInfoComp[6]: MHZ Processador
aInfoComp[7]: Descrição Processador
aInfoComp[8]: Linguagem

Os dados abaixo estarão disponíveis a partir do binário 7.00.131227A:

...

aInfoComp[10]: SMBIOS UUID/Host ID
aInfoComp[11]: Array com todas as interfaces de redes da máquina
aInfoComp[11][1][1]: Nome da 1a interface
aInfoComp[11][1][2]: Mac Address da 1a interface
aInfoComp[11][2][1]: Nome da 2a interface
aInfoComp[11][2][2]: Mac Address da 2a interface
aInfoComp[11][3][1]: ...
aInfoComp[11][3][2]: ...
aInfoComp[11][N][1]: Nome da 'N' interface
aInfoComp[11][N][2]: Mac Address da 'N' interface
#include "protheus.ch"

...

   local aInfoComp := GetSrvInfo()
   local lenEth := 0
   local lenEthInfo := 0
   local i := 0
   local stI := ""
   local j := 0
   local stJ := ""

...

      'Sistema Operacional: ' + aInfoComp[2]+chr(13)+chr(10)+;
      'Informação adicional: ' + aInfoComp[3]+chr(13)+chr(10)+;
      'Memória: ' + aInfoComp[4]+chr(13)+chr(10)+;
      'Nr. de Processadores: ' + aInfoComp[5]+chr(13)+chr(10)+;
      'MHZ Processador: ' + aInfoComp[6]+chr(13)+chr(10)+;
      'Descrição Processador: ' + aInfoComp[7]+chr(13)+chr(10)+;
      'Linguagem: ' + aInfoComp[8]+chr(13)+chr(10)+;
      'Nome Linguagem: ' + aInfoComp[9]+chr(13)+chr(10)+;
      'UUID: ' + aInfoComp[10]+chr(13)+chr(10)

...

    cInfoComp := cInfoComp + 'Total ETHs: ' + AllTrim(Str(lenEth)) +chr(13)+chr(10)
    for i:=1 to lenEth
       stI := AllTrim(Str(i))
       lenEthInfo := Len(aInfoComp[11][i])
       cInfoComp := cInfoComp + 'Total info ETH'+stI+': ' + AllTrim(Str(lenEthInfo))+chr(13)+chr(10)
       for j:=1 to lenEthInfo
          if j == 1
             stJ := "Nome"
          elseif j == 2
             stJ := "MacAddr"
          else
             stJ := AllTrim(Str(j))
          endif
          cInfoComp := cInfoComp + ("ETH"+stI+"["+stJ+"]: " + aInfoComp[11][i][j])+chr(13)+chr(10)
       Next
    Next
 
    MsgInfo(cInfoComp)
  Return .T.

 

Exemplo da função GetSrvInfo()
Windows:
Image Removed
Linux:
Image Removed
PPC64:
Image Removed
 
TOTVS Application Server

...