- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境设置
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送电子邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTFul API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 从表中选择数据
- Node.js - MySQL WHERE 条件
- Node.js - MySQL ORDER BY 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 联接
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 限制结果
- Node.js - MongoDB 联接
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - os.setPriority() 方法
Node.js 的 os.setPriority() 方法 允许设置由进程 ID (pid) 指定的进程的调度优先级。
优先级是一个整数,指定我们想要设置的进程调度优先级。输入优先级必须介于 -20(高优先级)到 19(低优先级)之间。
由于 POSIX 系统的优先级级别与 Windows 系统 的优先级级别不同,Node.js 为我们提供了具有不同优先级级别的常量,用于进程,它们位于 os.constants.priority 常量中。在 Windows 上将进程优先级设置为 PRIORITY_HIGHEST 需要提升的权限。如果运行程序的用户没有权限,则它将降低到 PRIORITY_HIGH。
语法
以下是 Node.js os.setPriority() 方法 的语法 -
os.setPriority([pid, ] priority)
参数
pid - (可选)这是进程 ID,一个整数,标识应设置其优先级的正在运行的进程。默认值为 0。这是一个可选参数。
priority - (必填)第二个参数是优先级,一个整数,表示我们希望设置的进程调度优先级。范围从 -20(最高优先级)到 19(最低优先级)。这是一个必填参数。
返回值
此方法不返回任何内容,而是设置由 pid 指定的进程的调度优先级。
以下是 Node.js 提供的优先级常量 -
PRIORITY_LOW - 这是最低的进程调度优先级。在 Windows 上,这对应于 IDLE PRIORITY CLASS,在所有其他平台上,它的 nice 值为 19。
PRIORITY_BELOW_NORMAL - 在 Windows 上,这对应于 BELOW_NORMAL_PRIORITY_CLASS,在所有其他平台上,它的 nice 值为 10。
PRIORITY_NORMAL - 这是默认的进程调度优先级,它对应于 Windows 上的 NORMAL_PRIORITY_CLASS。在所有其他平台上,0 是 nice 值。
PRIORITY_ABOVE_NORMAL - 这对应于 Windows 上的 ABOVE_NORMAL_PRIORITY_CLASS,在所有其他平台上,它的 nice 值为 -7。
PRIORITY_HIGH - 在 Windows 上,这对应于 HIGH_PRIORITY_CLASS,在所有其他平台上,它的 nice 值为 -14。
PRIORITY_HIGHEST - 这是最高的进程调度优先级,它对应于 Windows 上的 REALTIME_PRIORITY_CLASS。在所有其他平台上,-20 是 nice 值。
示例
在以下示例中,我们尝试将当前进程的优先级设置为 0。
const os = require('os'); os.setPriority(0); console.log(os.getPriority());
输出
/home/cg/root/63a002c52763b/main.js:3 os.setPriority(0); ^ TypeError: os.setPriority is not a function at Object.<anonymous> (/home/cg/root/63a002c52763b/main.js:3:4) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
注意 - 要获得准确的结果,最好在本地执行以上代码。
执行以上程序后,setPriority() 方法将当前进程的优先级设置为 0。由于 setPriority() 不返回任何内容,因此我们记录了 getPriority() 方法,它打印当前进程的优先级。
0
示例
在下面的示例中,我们尝试将当前进程的优先级设置为 19。
const os = require('os'); os.setPriority(19); console.log(os.getPriority());
错误
home/cg/root/63a002c52763b/main.js:3 os.setPriority(19); ^ TypeError: os.setPriority is not a function at Object.<anonymous> (/home/cg/root/63a002c52763b/main.js:3:4) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
注意 - 要获得准确的结果,最好在本地执行以上代码。
执行以上程序后,19 设置为 pid 的调度优先级。然后 . getPriority() 方法 打印当前进程的调度优先级。
19
示例
注意 - 如果运行程序的用户没有权限,则它将降低到 PRIORITY_HIGH。
在以下示例中,我们使用 setPriority() 方法 将当前进程的优先级设置为 -20。
const os = require('os'); os.setPriority(-20); console.log(os.getPriority());
错误
/home/cg/root/63a002c52763b/main.js:3 os.setPriority(-20); ^ TypeError: os.setPriority is not a function at Object.<anonymous> (/home/cg/root/63a002c52763b/main.js:3:4) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
注意 - 要获得准确的结果,最好在本地执行以上代码。
执行以上程序后,运行以上程序的用户没有权限,它会缓慢降低到 PRIORITY_HIGH (-14)。
-14