os
osモジュールは、JSHアプリケーション用にNode.js互換のOS情報APIを提供します。
arch()
CPUアーキテクチャを返します。
構文
arch()使用例
| |
platform()
darwin、linux、windowsなどのプラットフォーム名を返します。
構文
platform()使用例
| |
type()
Darwin、Linux、Windows_NTなどのOSの種類を表す文字列を返します。
構文
type()使用例
| |
release()
カーネルのリリース・バージョン文字列を返します。
構文
release()使用例
| |
hostname()
ホスト名を返します。
構文
hostname()使用例
| |
homedir()
現在のユーザーのホームディレクトリのパスを返します。
構文
homedir()使用例
| |
tmpdir()
OSの既定の一時ディレクトリのパスを返します。
構文
tmpdir()使用例
| |
endianness()
CPUのエンディアンを返します。値はBEまたはLEです。
構文
endianness()使用例
| |
EOL
プラットフォーム固有の改行文字列です。
- POSIX:
\n - Windows:
\r\n
使用例
| |
totalmem(), freemem()
システムの総メモリまたは空きメモリをバイト単位で返します。
構文
totalmem()
freemem()使用例
| |
uptime()
システムの稼働時間を秒単位で返します。
構文
uptime()使用例
| |
bootTime()
システムの起動時刻をUnixタイムスタンプで返します。
構文
bootTime()使用例
| |
loadavg()
平均負荷を[1分, 5分, 15分]の配列で返します。
構文
loadavg()使用例
| |
cpus()
CPUコアごとの情報の配列を返します。
各項目には、以下のフィールドが含まれます。
model,speed,coresvendor,family,model,steppingtimes.user,times.nice,times.sys,times.idle,times.irq(ミリ秒)
構文
cpus()使用例
| |
cpuCounts()
CPU数を返します。
true: 論理コア数false: 物理コア数
構文
cpuCounts(logical)使用例
| |
cpuPercent()
CPU使用率(%)の配列を返します。
intervalSec: サンプリング間隔(秒)。0の場合は即時の値perCPU:trueの場合、コアごとの値の配列を返す
構文
cpuPercent(intervalSec, perCPU)使用例
| |
networkInterfaces()
ネットワークインターフェース情報をオブジェクトで返します。
戻り値の形式は以下のとおりです。
- key: インターフェース名
- value: アドレス情報の配列
addressfamily(IPv4/IPv6)internal(boolean)
構文
networkInterfaces()使用例
| |
hostInfo()
ホストシステム情報のオブジェクトを返します。
主なフィールドは以下のとおりです。
hostname,uptime,bootTime,procsos,platform,platformFamily,platformVersionkernelVersion,kernelArchvirtualizationSystem,virtualizationRole,hostId
構文
hostInfo()使用例
| |
userInfo()
現在のユーザー情報を返します。
返されるフィールド:
username,homedir,shelluid,gid
構文
userInfo([options])使用例
| |
diskPartitions()
ディスクパーティション一覧を返します。
構文
diskPartitions([all])使用例
| |
diskUsage()
指定したパスのディスク使用量情報を返します。
通常は、total、used、free、usedPercentフィールドを含みます。
構文
diskUsage(path)使用例
| |
diskIOCounters()
ディスクI/Oカウンターを返します。
namesが省略または空配列:すべてのデバイスnamesを指定:指定したデバイス
構文
diskIOCounters([names])使用例
| |
netProtoCounters()
ネットワークプロトコルのカウンターを返します。
構文
netProtoCounters([proto])使用例
| |
constants
OSに関する定数オブジェクトです。
現在は、以下の子オブジェクトを提供します。
os.constants.signalsos.constants.priority
使用例
| |
os.constants.signals
シグナル名と数値を提供する定数オブジェクトです。
これらの定数は、APIの互換性のため、正規化されたUnix形式のシグナル番号を使用します。 Windowsでは、すべての数値が個別のネイティブシグナル動作に1対1で対応するわけではありません。
たとえば、以下の項目を含みます。
| リテラル | 数値 |
|---|---|
SIGHUP | 1 |
SIGINT | 2 |
SIGQUIT | 3 |
SIGABRT | 6 |
SIGKILL | 9 |
SIGUSR1 | 10 |
SIGSEGV | 11 |
SIGUSR2 | 12 |
SIGPIPE | 13 |
SIGALRM | 14 |
SIGTERM | 15 |
これらの値は、process.kill()に数値シグナルとして渡せます。
Windowsでは、SIGINTを特別に扱います。
JSHは、可能な限り割り込みに相当するコンソール制御イベントとして渡そうとします。
SIGTERM、SIGQUIT、SIGKILLは、Windowsでは終了要求として動作します。
使用例
| |
processのシグナルAPIとの関係
os.constants.signalsはシグナル番号を提供し、実際のシグナル処理と送信はprocessモジュールが行います。
- シグナルの受信:
process.on('SIGINT', handler) - シグナルの送信:
process.kill(pid, os.constants.signals.SIGTERM)
process.on()は大文字と小文字を区別しませんが、シグナルイベント名にはSIGINT、sigintのようにSIG接頭辞を含む正規名を使用する必要があります。
termのような接頭辞のない別名は、シグナルリスナー名として使用できません。
process.kill()は、正規名に加えてtermなどの別名を許可します。
os.constants.signalsは、正規化された定数名だけを提供します。
Windowsのprocess.kill(pid, os.constants.signals.SIGINT)はベストエフォートの動作であり、コンソールのルーティング制約により失敗する場合があります。
使用例
| |
os.constants.priority
プロセスの優先度を表す定数オブジェクトです。
主なフィールド
| 定数 | 説明 |
|---|---|
PRIORITY_LOW | 低い優先度 |
PRIORITY_BELOW_NORMAL | 通常より低い優先度 |
PRIORITY_NORMAL | 既定の優先度 |
PRIORITY_ABOVE_NORMAL | 通常より高い優先度 |
PRIORITY_HIGH | 高い優先度 |
PRIORITY_HIGHEST | 最高の優先度 |
使用例
| |