O módulo de sistema operacional Node.js.
Esse módulo disponibiliza diversas funções que você pode usar para obter informações do sistema operacional e do computador em que o programa está executando, e interagir com ele.
const os = require('os')
Há algumas propriedades úteis que nos dizem algumas coisas importantes relacionadas a manipulação de arquivos:
os.EOL
retorna o a sequência delimitadora de linha (caracter de pular linha). \n
no Linux e macOS, e \r\n
no Windows.
os.constants.signals
retorna todas contantes relacionadas a sinais de processos, como SIGHUP, SIGKILL e outros.
os.constants.errno
define as constantes para reportar erros, como EADDRINUSE, EOVERFLOW e mais outras.
Você pode ver todas constantes em https://nodejs.org/api/os.html#os_signal_constants.
Agora vamos ver os principais métodos do os
:
os.arch()
Retorna uma string que identifica a arquitetura, como arm
, x64
, arm64
.
os.cpus()
Retorna informações sobre as CPUs disponívels no seu sistema.
Exemplo:
[{model: 'Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz',speed: 2400,times: {user: 281685380,nice: 0,sys: 187986530,idle: 685833750,irq: 0}},{model: 'Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz',speed: 2400,times: {user: 282348700,nice: 0,sys: 161800480,idle: 703509470,irq: 0}}]
os.endianness()
Retorna BE
ou LE
dependendo se o Node.js foi compilado com Big Endian ou Little Endian.
os.freemem()
Retorna o número de bytes que representam a memória livre no seu sistema.
os.homedir()
Retorna o caminho do diretório home do usuário corrente.
Exemplo:
'/Users/pauloluan'
os.hostname()
Retorna o host name.
os.loadavg()
Retorna o cálculo feito pelo sistema operacional na média de carregamento.
Só retorna um valor significativo no Linux e no macOS.
Exemplo:
[3.68798828125, 4.00244140625, 11.1181640625]
os.networkInterfaces()
Retorna os detalhes das interfaces de rede disponíveis no seu sistema.
Exemplo:
{ lo0:[ { address: '127.0.0.1',netmask: '255.0.0.0',family: 'IPv4',mac: 'fe:82:00:00:00:00',internal: true },{ address: '::1',netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',family: 'IPv6',mac: 'fe:82:00:00:00:00',scopeid: 0,internal: true },{ address: 'fe80::1',netmask: 'ffff:ffff:ffff:ffff::',family: 'IPv6',mac: 'fe:82:00:00:00:00',scopeid: 1,internal: true } ],en1:[ { address: 'fe82::9b:8282:d7e6:496e',netmask: 'ffff:ffff:ffff:ffff::',family: 'IPv6',mac: '06:00:00:02:0e:00',scopeid: 5,internal: false },{ address: '192.168.1.38',netmask: '255.255.255.0',family: 'IPv4',mac: '06:00:00:02:0e:00',internal: false } ],utun0:[ { address: 'fe80::2513:72bc:f405:61d0',netmask: 'ffff:ffff:ffff:ffff::',family: 'IPv6',mac: 'fe:80:00:20:00:00',scopeid: 8,internal: false } ] }
os.platform()
Retorna a plataforma em que o Node.js foi compilado:
darwin
freebsd
linux
openbsd
win32
- ...outros
os.release()
Retorna uma string que identifica o número da versão do sistema operacional
os.tmpdir()
Retorna o caminho da pasta temp atribuida.
os.totalmem()
Retorna o número de butes que representam o total de memória disponível no sistema.
os.type()
Identifica o sistema operacional:
Linux
Darwin
no macOSWindows_NT
no Windows
os.uptime()
Retorna o número de segundos em que o computador está rodando desde o último reinício.
os.userInfo()
Retorna um objeto contendo o username
corrente, uid
, gid
, shell
, e homedir