概要:このチュートリアルでは、オペレーティングシステム関連のアクティビティを実行できる Node.js のos
モジュールについて学習します。
node.js OS モジュールの紹介
os
モジュールを使用するには、次のようにインクルードします。
const os = require('os');
Code language: JavaScript (javascript)
または
import os from 'os';
Code language: JavaScript (javascript)
os
モジュールは、オペレーティングシステムおよびサーバーとの対話に役立つ多くのプロパティとメソッドを提供します。
たとえば、os.EOL
プロパティは、プラットフォーム固有の改行文字を返します。
os.EOL
プロパティは、Windows では\r\n
を、Linux または macOS では\n
を返します。
現在のオペレーティングシステム情報の取得
os
モジュールは、サーバーのオペレーティングシステムを取得するためのいくつかの便利なメソッドを提供します。例:
import os from 'os';
let currentOS = {
name: os.type(),
architecture: os.arch(),
platform: os.platform(),
release: os.release(),
version: os.version(),
};
console.log(currentOS);
Code language: JavaScript (javascript)
出力
{
name: 'Windows_NT',
architecture: 'x64',
platform: 'win32',
release: '10.0.18362',
version: 'Windows 10 Pro'
}
Code language: JavaScript (javascript)
サーバーのアップタイムの確認
os.uptime()
メソッドは、システムのアップタイムを秒単位で返します。例:
import os from 'os';
console.log(`The server has been up for ${os.uptime()} seconds.`);
Code language: JavaScript (javascript)
出力
The server has been up for 44203 seconds.
Code language: JavaScript (javascript)
現在のユーザー情報の取得
os.userInfo()
メソッドは、現在のユーザーに関する情報を返します。
import os from 'os';
console.log(os.userInfo());
Code language: JavaScript (javascript)
出力
{
uid: -1,
gid: -1,
username: 'john',
homedir: 'C:\\Users\\john',
shell: null
}
Code language: JavaScript (javascript)
サーバーのハードウェア情報の取得
os.totalmem()
メソッドは、サーバーの総メモリをバイト単位で返します。
import os from 'os';
let totalMem = os.totalmem();
console.log(totalMem);
Code language: JavaScript (javascript)
出力
8464977920
Code language: JavaScript (javascript)
空きメモリ量をバイト単位で取得するには、os.freemem()
メソッドを使用します。
import os from 'os';
let freeMem = os.freemem();
console.log(freeMem);
Code language: JavaScript (javascript)
出力
1535258624
Code language: JavaScript (javascript)
CPU の情報を取得するには、os.cpus()
メソッドを使用します。
os.cpus();
Code language: JavaScript (javascript)
次の例は、サーバーのCPUのモデルと速度を示しています。
const { model, speed } = os.cpus()[0];
console.log(`Model: ${model}`);
console.log(`Speed (MHz): ${speed}`);
Code language: JavaScript (javascript)
ネットワークインターフェース情報の取得
os.networkInterfaces()
メソッドは、ネットワークインターフェース情報を含むオブジェクトを返します。
返されたオブジェクトの各キーは、ネットワークインターフェースを識別します。
import os from 'os';
console.log(os.networkInterfaces());
Code language: JavaScript (javascript)
出力
{
'Wi-Fi': [
{
address: '192.168.102.3',
netmask: '255.255.255.0',
family: 'IPv4',
mac: '4a:cc:93:5d:f3:19',
internal: false,
cidr: '192.168.102.3/24'
}
],
'Loopback Pseudo-Interface 1': [
{
address: '::1',
netmask: 'ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff',
family: 'IPv6',
mac: '00:00:00:00:00:00',
internal: true,
cidr: '::1/128',
scopeid: 0
},
{
address: '127.0.0.1',
netmask: '255.0.0.0',
family: 'IPv4',
mac: '00:00:00:00:00:00',
internal: true,
cidr: '127.0.0.1/8'
}
]
}
Code language: JavaScript (javascript)
このチュートリアルでは、オペレーティングシステムと対話するためのNode.js osモジュールの一部のプロパティとメソッドについて学習しました。