system
Operações e informações em nível de sistema
Importação
_ <- fat.system
Aliases
Nome | Tipo original | Breve descrição |
---|---|---|
ExitCode | Number | Status de saída ou código de retorno |
CommandResult | Scope | Contém code (código) e out (saída) |
Constantes
- successCode, 0: ExitCode
- failureCode, 1: ExitCode
Métodos
Nome | Assinatura | Breve descrição |
---|---|---|
args | (): List/Text | Retorna lista de argumentos passados pelo shell |
exit | (code: Number): * | Sair do programa com o código de saída fornecido |
getEnv | (var: Text): Text | Obter o valor da variável env por nome |
shell | (cmd: Text): ExitCode | Executa cmd no shell, retorna o código de saída |
capture | (cmd: Text): CommandResult | Captura a saída da execução de cmd |
fork | (args: List/Text, out: Text = ø) | Inicia um processo em segundo plano, retorna PID |
kill | (pid: Number): Void | Envia SIGTERM para o processo pelo PID |
getLocale | (): Text | Obter configuração de localidade atual |
setLocale | (cmd: Text): Number | Definir configuração de localidade atual |
getMacId | (): Text | Obter identificador da máquina (endereço MAC) |
setKey | (key: Text): Void | Definir chave para pacotes ofuscados |
setMem | (mem: Number): Void | Definir limite de memória (contagem de nós) |
runGC | (): Number | Rodar o GC, retorna transcorrido em milissegundos |
Notas de uso
Atenção!
É importante agir com cautela e responsabilidade ao utilizar os métodos getEnv
, shell
, capture
, fork
e kill
. A biblioteca system
oferece a capacidade de executar comandos diretamente do sistema operacional, o que pode introduzir riscos de segurança se não forem utilizadas com cuidado.
Para mitigar vulnerabilidades, evite utilizar a entrada do usuário diretamente na construção de comandos passados para esses métodos. A entrada do usuário deve ser validada para prevenir ataques de injeção de comandos e outras violações de segurança.
setKey
Use preferencialmente no arquivo .fryrc
assim:
_ <- fat.system
setKey('secret') # irá codificar e decodificar pacotes com esta chave
Veja mais sobre ofuscação.
setMem
Use preferencialmente no arquivo .fry
assim:
_ <- fat.system
setMem(5000) # ~2mb
Veja mais sobre gerenciamento de memória.
get/set locale
O interpretador fry
tentará inicializar o locale LC_ALL
para C.UTF-8
e, se esse locale não estiver disponível no sistema, tentará usar en_US.UTF-8
, caso contrário, usará o locale padrão.
Veja mais sobre nomes de localidade.
a configuração de localidade aplica-se apenas ao aplicativo e não é mantida após a saída do
fry