获取系统信息
os.arch()
: 获取系统的架构(例如:"x64" 或 "arm64")os.cpus()
: 获取CPU信息,包括数量、型号和速度os.networkInterfaces()
: 获取网络接口详细信息,例如IP地址、子网掩码和MAC地址os.platform()
: 获取操作系统的平台(例如:"linux" 或 "win32")os.release()
: 获取操作系统的版本(例如:"10.15.7" 或 "10")
文件系统操作
os.homedir()
: 获取当前用户的家目录路径os.tmpdir()
: 获取系统的临时目录路径os.hostname()
: 获取系统的计算机名os.type()
: 获取操作系统类型(例如:"Linux" 或 "Windows_NT")
进程控制
os.kill(pid, signal)
: 向指定进程发送信号os.uptime()
: 获取系统启动以来的运行时间,单位为秒os.loadavg()
: 获取系统负载平均值,表示过去1、5和15分钟内系统的平均负载os.setPriority(pid, priority)
: 设置指定进程的优先级
系统设置
os.EOL
: 获取系统特定的行尾字符(例如:" " 或 " ")os.setgroups(groups)
: 设置当前进程的组列表os.setgid(gid)
: 设置当前进程的组IDos.setuid(uid)
: 设置当前进程的用户ID
高级功能
- 异步回调: 操作系统函数可以接受回调函数,例如
os.execFile()
,它允许异步执行外部命令。 - 事件监听:
os
模块提供事件,例如"message"
,该事件在系统发生特定事件(例如:有新消息到达)时触发。 - 自定义系统命令:
os.spawn()
函数允许你以自定义选项(例如:环境变量、标准输入/输出重定向)执行外部命令。 - systemd 服务集成: Node.js 应用程序可以通过
os.service()
函数与 systemd 服务进行交互,启动、停止或检查服务状态。 - 容器支持:
os
模块提供针对Docker和Kubernetes等容器的特定功能,例如os.isContainer()
.
最佳实践
- 谨慎使用
os
模块,因为某些操作可能具有破坏性。 - 始终处理错误,因为系统调用可能失败。
- 在使用异步回调函数时,确保正确处理异步代码。
- 考虑使用promise或async/await来简化异步代码的处理。
- 了解所使用的操作系统平台的特定行为。