Node.js API詳細解のosモジュールの使い方の実例分析


本論文の実例はNode.js APIの詳細な解のosモジュールの使い方を述べている。皆さんに参考にしてあげます。具体的には以下の通りです。
OSはNodeの基礎モジュールであり、いくつかのオペレーティングシステムに関連する属性インターフェースを提供しています。const os = require('os');を通してosモジュールを引用して、私達は引き続きosの機能を見ます。
説明:
一つの文字列定数は、オペレーティングシステム関連の行末フラグを定義します。POSIXシステム上の値は、Windows下の値は\rです。
デモ:

console.log('abc'+ os.EOL +'123');
//abc
//123

os.arch()
説明:
この方法は、現在の実行環境のCPUアーキテクチャを説明する文字列を返します。
可能な値は'arm','arm 64','ia 32','mipsl','ppc','ppc 64','s 390 x','s 32','x 64','x 64',x 86'です。
デモ:

console.log(os.arch());
//x64

s.co nstants
説明:
この定数は、エラーコードや信号などのシステム定数を含むオブジェクトです。具体的な説明は表示できます。OS定数
デモ:

console.log(os.constants);
// { UV_UDP_REUSEADDR: 4,   //libuv   
//  errno:
//  { E2BIG: 7,
//   EACCES: 13,
//   EADDRINUSE: 48,
//   EADDRNOTAVAIL: 49,
//   EAFNOSUPPORT: 47,
//   EAGAIN: 35,
//   EALREADY: 37,
//   EBADF: 9,
//   EBADMSG: 94,
//   EBUSY: 16,
//   ECANCELED: 89,
//   ECHILD: 10,
//   ECONNABORTED: 53,
//   ECONNREFUSED: 61,
//   ECONNRESET: 54,
//   EDEADLK: 11,
//   EDESTADDRREQ: 39,
//   EDOM: 33,
//   EDQUOT: 69,
//   EEXIST: 17,
//   EFAULT: 14,
//   EFBIG: 27,
//   EHOSTUNREACH: 65,
//   EIDRM: 90,
//   EILSEQ: 92,
//   EINPROGRESS: 36,
//   EINTR: 4,
//   EINVAL: 22,
//   EIO: 5,
//   EISCONN: 56,
//   EISDIR: 21,
//   ELOOP: 62,
//   EMFILE: 24,
//   EMLINK: 31,
//   EMSGSIZE: 40,
//   EMULTIHOP: 95,
//   ENAMETOOLONG: 63,
//   ENETDOWN: 50,
//   ENETRESET: 52,
//   ENETUNREACH: 51,
//   ENFILE: 23,
//   ENOBUFS: 55,
//   ENODATA: 96,
//   ENODEV: 19,
//   ENOENT: 2,
//   ENOEXEC: 8,
//   ENOLCK: 77,
//   ENOLINK: 97,
//   ENOMEM: 12,
//   ENOMSG: 91,
//   ENOPROTOOPT: 42,
//   ENOSPC: 28,
//   ENOSR: 98,
//   ENOSTR: 99,
//   ENOSYS: 78,
//   ENOTCONN: 57,
//   ENOTDIR: 20,
//   ENOTEMPTY: 66,
//   ENOTSOCK: 38,
//   ENOTSUP: 45,
//   ENOTTY: 25,
//   ENXIO: 6,
//   EOPNOTSUPP: 102,
//   EOVERFLOW: 84,
//   EPERM: 1,
//   EPIPE: 32,
//   EPROTO: 100,
//   EPROTONOSUPPORT: 43,
//   EPROTOTYPE: 41,
//   ERANGE: 34,
//   EROFS: 30,
//   ESPIPE: 29,
//   ESRCH: 3,
//   ESTALE: 70,
//   ETIME: 101,
//   ETIMEDOUT: 60,
//   ETXTBSY: 26,
//   EWOULDBLOCK: 35,
//   EXDEV: 18 },
//  signals:
//  { SIGHUP: 1,
//   SIGINT: 2,
//   SIGQUIT: 3,
//   SIGILL: 4,
//   SIGTRAP: 5,
//   SIGABRT: 6,
//   SIGIOT: 6,
//   SIGBUS: 10,
//   SIGFPE: 8,
//   SIGKILL: 9,
//   SIGUSR1: 30,
//   SIGSEGV: 11,
//   SIGUSR2: 31,
//   SIGPIPE: 13,
//   SIGALRM: 14,
//   SIGTERM: 15,
//   SIGCHLD: 20,
//   SIGCONT: 19,
//   SIGSTOP: 17,
//   SIGTSTP: 18,
//   SIGTTIN: 21,
//   SIGTTOU: 22,
//   SIGURG: 16,
//   SIGXCPU: 24,
//   SIGXFSZ: 25,
//   SIGVTALRM: 26,
//   SIGPROF: 27,
//   SIGWINCH: 28,
//   SIGIO: 23,
//   SIGINFO: 29,
//   SIGSYS: 12 
//  } 
// }

s.cpus()
説明:
この方法は、各論理CPUカーネルの情報を含むオブジェクト配列を返します。
デモ:

console.log(os.cpus());
// [ { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { 
//   user: 96756760, //CPU              
//   nice: 0,  //CPU              
//   sys: 80507720, //CPU              
//   idle: 606147830, //CPU              
//   irq: 0  //CPU                
//   } 
//  },
//  { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { user: 43796970, nice: 0, sys: 37796280, idle: 701811920, irq: 0 } 
//  },
//  { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { user: 94060830, nice: 0, sys: 68641950, idle: 620702410, irq: 0 } 
//  },
//  { model: 'Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz',
//   speed: 2900,
//   times: { user: 45641410, nice: 0, sys: 39136540, idle: 698627210, irq: 0 } 
//  } ]

os.endianness()
説明:
この方法は、Node.jsバイナリコンパイル環境のバイト順を示す文字列を返します。可能な値は、'BE'(Big-Edian)の大端モード、'LE'(Little-Edian)のリトルエンドモードです。
大端モードとは、データの高バイトがメモリの低アドレスに保存され、データの低バイトがメモリの高アドレスに保存されていることを意味します。
リトルエンドモードとは、データの高バイトがメモリの高アドレスに保存され、データの低バイトがメモリの低アドレスに保存されることを意味します。
0 x 123455678を例にとって:
デモ:

console.log(os.endianness());
//LE

os.freem()
説明:
この方法は、アイドルシステムメモリのバイト数を整数で返します。
デモ:

console.log(os.freemem());
//7155720192 

os.homedir()
説明:
この方法は現在のユーザのホームディレクトリを文字列で返します。
デモ:

console.log(os.homedir());
// /Users/xiaoqiang

os.hostname()
説明:
この方法は、オペレーティングシステムのホスト名を文字列で返します。
デモ:

console.log(os.hostname());
//xiaoqiangMacBook-Pro.local

os.loadavg()
説明:
この方法は、1、5、15分の平均負荷を含む配列を返します。
デモ:

console.log(os.loadavg());
//[ 2.57080078125, 2.38037109375, 2.30908203125 ] windows   [0, 0, 0]

os.network Interfaces()
説明:
この方法は、ネットワークアドレスが付与されたネットワークインターフェースを含むオブジェクトを返す。
デモ:

console.log(os.networkInterfaces());
// {
//  lo: [
//   {
//    address: '127.0.0.1', //     IPv4   IPv6   
//    netmask: '255.0.0.0', //IPv4   IPv6     
//    family: 'IPv4', //IPv4   IPv6
//    mac: '00:00:00:00:00:00', //     MAC  
//    internal: true, //        loopback             ,   true,   false
//    cidr: '127.0.0.1/8' //  CIDR               IPv4   IPv6   。   netmask      ,      null
//   },
//   {
//    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'
//   }
//  ],
//  eth0: [
//   {
//    address: '192.168.1.108',
//    netmask: '255.255.255.0',
//    family: 'IPv4',
//    mac: '01:02:03:0a:0b:0c',
//    internal: false,
//    cidr: '192.168.1.108/24'
//   },
//   {
//    address: 'fe80::a00:27ff:fe4e:66a1',
//    netmask: 'ffff:ffff:ffff:ffff::',
//    family: 'IPv6',
//    mac: '01:02:03:0a:0b:0c',
//    internal: false,
//    cidr: 'fe80::a00:27ff:fe4e:66a1/64'
//   }
//  ]
// }

s.plotform()
説明:
本方法はNode.jsコンパイル時のオペレーティングシステムプラットフォームに戻ります。値は'aix'であり、'darwin'であり、'freebsd'であり、'linux'であり、'openbsd'であり、'sunos'であり、'win 32'であります。
デモ:

console.log(os.platform());
// darwin

os.release()
説明:
この方法は文字列を返して、オペレーティングシステムの発行版を指定します。
デモ:

console.log(os.release());
// 17.2.0

os.tmpdir()
説明:
この方法は文字列を返して、オペレーティングシステムの発行版を指定します。
デモ:

console.log(os.tmpdir());
// /var/folders/xv/4dbb00000gn/T

os.totalmem()
説明:
この方法は全システムメモリのバイト数を整数で返します。
デモ:

console.log(os.totalmem());
//17179869184

os.type()
説明:
この方法は、オペレーティングシステムの名前を示す文字列を返します。
デモ:

console.log(os.type());
// Darwin

os.upptime()
説明:
この方法は何秒以内にオペレーティングシステムのオンライン時間に戻りますか?
デモ:

console.log(os.uptime());
// 1293306

os.userInfo([options])
説明:
この方法は現在有効なユーザの情報を取得するために使用されます。
この方法は、リターン値を指定するためのエンコーディング方式を伝達し、デフォルトのutf 8は、バーとして設定されてもよい。
デモ:

console.log(os.userInfo());
// { 
//  uid: 501,
//  gid: 20,
//  username: 'xiaoqiang',
//  homedir: '/Users/xiaoqiang',
//  shell: '/bin/bash' 
// }
 
console.log(os.userInfo({encoding: 'buffer'}));
// { 
//  uid: 501,
//  gid: 20,
//  username: ,
//  homedir: ,
//  shell: 
// }

ここで述べたように皆さんのnode.jsプログラムの設計に役に立ちます。