In this section you will learn how to get information about the installed operating system, versions of installed development specific software packages, shell and users online:
For function reference and examples we assume, that we imported systeminformation as follows:
const si = require('systeminformation');
Operating System, Shell, Versions, Users
All functions in this section return a promise or can be called with a callback function (parameter cb in the function reference)
Function | Result object | Linux | BSD | Mac | Win | Sun | Comments |
---|---|---|---|---|---|---|---|
si.osInfo(cb) | {...} | X | X | X | X | X | OS information |
platform | X | X | X | X | X | 'linux', 'darwin', 'Windows', ... | |
distro | X | X | X | X | X | ||
release | X | X | X | X | X | ||
codename | X | X | |||||
kernel | X | X | X | X | X | kernel release - same as os.release() | |
arch | X | X | X | X | X | same as os.arch() | |
hostname | X | X | X | X | X | same as os.hostname() | |
fqdn | X | X | X | X | X | fully qualfied domain name | |
codepage | X | X | X | X | OS build version | ||
logofile | X | X | X | X | X | e.g. 'apple', 'debian', 'fedora', ... | |
serial | X | X | X | X | OS/Host serial number | ||
build | X | X | X | OS build version | |||
servicepack | X | service pack version | |||||
uefi | X | X | X | X | OS uses UEFI on startup | ||
hypervizor | X | hyper-v detected (win only) | |||||
remoteSession | X | runs in remote session (win only) | |||||
Example
{ platform: 'darwin', distro: 'Mac OS X', release: '10.15.3', codename: 'macOS Catalina', kernel: '19.3.0', arch: 'x64', hostname: 'hostname.local', fqdn: 'hostname.local', codepage: 'UTF-8', logofile: 'apple', serial: 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX', build: '19D76', servicepack: '', uefi: true } | |||||||
si.shell(cb) | : string | X | X | X | X | standard shell | |
si.versions(apps, cb) | {...} | X | X | X | X | X | version information of node and dev software packages optional apps param (string, comma or space seperated) only those apps are detected |
kernel | X | X | X | X | X | kernel version | |
apache | X | X | X | X | X | apache version | |
bash | X | X | X | X | X | bash version | |
bun | X | X | X | X | X | bun version | |
deno | X | X | X | X | X | deno version | |
docker | X | X | X | X | X | docker version | |
dotnet | X | X | X | X | X | dotnet version | |
fish | X | X | X | X | X | fish version | |
gcc | X | X | X | X | X | gcc version | |
git | X | X | X | X | X | git version | |
grunt | X | X | X | X | X | grunt version | |
gulp | X | X | X | X | X | gulp version | |
homebrew | X | X | X | X | X | homebrew version | |
java | X | X | X | X | X | java version | |
mongodb | X | X | X | X | X | mongodb version | |
mysql | X | X | X | X | X | mysql version | |
nginx | X | X | X | X | X | nginx version | |
node | X | X | X | X | X | node version | |
npm | X | X | X | X | X | npm version | |
openssl | X | X | X | X | X | openssl version | |
perl | X | X | X | X | X | perl version | |
php | X | X | X | X | X | php version | |
pip3 | X | X | X | X | X | pip3 version | |
pip | X | X | X | X | X | pip version | |
pm2 | X | X | X | X | X | pm2 version | |
postfix | X | X | X | X | X | postfix version | |
postgresql | X | X | X | X | X | postgresql version | |
powershell | X | X | X | X | X | powershell version | |
python3 | X | X | X | X | X | python3 version | |
python | X | X | X | X | X | python version | |
redis | X | X | X | X | X | redis version | |
systemOpenssl | X | X | X | X | X | systemOpenssl version | |
systemOpensslLib | X | X | X | X | X | systemOpensslLib version | |
tsc | X | X | X | X | X | tsc version | |
v8 | X | X | X | X | X | v8 version | |
virtualbox | X | X | X | X | X | virtualbox version | |
yarn | X | X | X | X | X | yarn version | |
zsh | X | X | X | X | X | zsh version | |
Example
{ kernel: '23.6.0', apache: '2.4.62', bash: '3.2.57', bun: '1.1.21', deno: '2.1.4', docker: '26.1.1', dotnet: '', fish: '', gcc: '15.0.0', git: '2.39.3', grunt: '', gulp: '', homebrew: '4.4.14', java: '17.0.2', mongodb: '', mysql: '9.0.1', nginx: '', node: '22.12.0', npm: '10.9.0', openssl: '3.0.15+quic', perl: '5.34.1', php: '8.3.6', pip3: '24.2', pip: '20.3.4', pm2: '5.1.2', postfix: '3.2.2', postgresql: '16.4', powershell: '', python3: '3.12.5', python: '', redis: '', systemOpenssl: '3.3.1', systemOpensslLib: 'OpenSSL', tsc: '5.2.2', v8: '12.4.254.21-node.21', virtualbox: '', yarn: '1.22.17', zsh: '5.9'' } Example 2
{ npm: '6.13.6', php: '7.3.11', postgresql: '12.1' } | |||||||
si.users(cb) | [{...}] | X | X | X | X | X | array of users online |
[0].user | X | X | X | X | X | user name | |
[0].tty | X | X | X | X | X | terminal | |
[0].date | X | X | X | X | X | login date | |
[0].time | X | X | X | X | X | login time | |
[0].ip | X | X | X | X | ip address (remote login) | ||
[0].command | X | X | X | X | last command or shell | ||
Example
[ { user: 'yourname', tty: 'ttys006', date: '2020-02-01', time: '21:20', ip: '', command: 'w -ih' }, { user: 'othername', tty: 'ttys008', date: '2020-02-01', time: '21:20', ip: '', command: '-bash' } ] |