本文实例讲述了Node.js API详解之 os模块用法。分享给大家供大家参考,具体如下:
os是Node的一个基础模块,提供了一些操作系统相关的属性接口。
通过 const os = require('os');
的方式引用os模块,我们接着看下os都有哪些功能
说明:
一个字符串常量,定义操作系统相关的行末标志:POSIX 系统上值为\n,Windows下的值为\r\n
demo:
console.log('abc'+ os.EOL +'123'); //abc //123
os.arch()
说明:
该方法返回一个字符串,来说明当前运行环境的CPU架构,
可能的值有: 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x', 'x32', 'x64', 和 'x86'
demo:
console.log(os.arch()); //x64
os.constants
说明:
此常量是一个包含错误码,处理信号等系统常量的对象。具体描述可以查看:OS 常量
demo:
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 // } // }
os.cpus()
说明:
该方法返回一个对象数组, 包含每个逻辑 CPU 内核的信息。
demo:
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-Endian) 大端模式,'LE'(Little-Endian) 小端模式
大端模式:是指数据的高字节保存在内存的低地址中,数据的低字节保存在内存的高地址中。
小端模式:是指数据的高字节保存在内存的高地址中,数据的低字节保存在内存的低地址中。
以 0x12345678 为例:
demo:
console.log(os.endianness()); //LE
os.freemem()
说明:
该方法以整数的形式返回空闲系统内存的字节数
demo:
console.log(os.freemem()); //7155720192
os.homedir()
说明:
该方法以字符串的形式返回当前用户的home目录
demo:
console.log(os.homedir()); // /Users/xiaoqiang
os.hostname()
说明:
该方法以字符串的形式返回操作系统的主机名
demo:
console.log(os.hostname()); //xiaoqiangMacBook-Pro.local
os.loadavg()
说明:
该方法返回一个数组,包含1, 5, 15分钟平均负载.
demo:
console.log(os.loadavg()); //[ 2.57080078125, 2.38037109375, 2.30908203125 ] windows下返回[0, 0, 0]
os.networkInterfaces()
说明:
该方法返回一个对象,包含被赋予网络地址的网络接口.
demo:
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' // } // ] // }
os.platform()
说明:
该方法返回Node.js编译时的操作系统平台,值可能为:'aix','darwin','freebsd','linux','openbsd','sunos','win32′
demo:
console.log(os.platform()); // darwin
os.release()
说明:
该方法返回一个字符串, 指定操作系统的发行版.
demo:
console.log(os.release()); // 17.2.0
os.tmpdir()
说明:
该方法返回一个字符串, 指定操作系统的发行版.
demo:
console.log(os.tmpdir()); // /var/folders/xv/4dbb00000gn/T
os.totalmem()
说明:
该方法以整数的形式返回所有系统内存的字节数.
demo:
console.log(os.totalmem()); //17179869184
os.type()
说明:
该方法返回一个字符串,表明操作系统的名字
demo:
console.log(os.type()); // Darwin
os.uptime()
说明:
该方法在几秒内返回操作系统的上线时间
demo:
console.log(os.uptime()); // 1293306
os.userInfo([options])
说明:
该方法用来获取当前有效用户的信息
该方法传递一个encoding参数,用来指定返回值的编码方式,默认utf8,也可以设置为:buffer。
demo:
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程序设计有所帮助。
Node.js,API,os模块
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]