- 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 - Streams
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 快速入门
- Node.js - MySQL创建数据库
- Node.js - MySQL创建表
- Node.js - MySQL Insert Into
- Node.js - MySQL Select From
- Node.js - MySQL Where 子句
- Node.js - MySQL Order By
- Node.js - MySQL Delete
- Node.js - MySQL Update
- Node.js - MySQL Join
- Node.js MongoDB
- Node.js - MongoDB 快速入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB Insert
- Node.js - MongoDB Find
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB Delete
- Node.js - MongoDB Update
- Node.js - MongoDB Limit
- Node.js - MongoDB Join
- Node.js模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - utility 模块
- Node.js - Web 模块
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,在所有其他平台上,它的值为 19。
- PRIORITY_BELOW_NORMAL - 在Windows上,这对应于BELOW_NORMAL_PRIORITY_CLASS,而在所有其他平台上,它的值为10。
- PRIORITY_NORMAL - 这是默认的进程调度优先级,对应于 Windows 上的 NORMAL_PRIORITY_CLASS。在所有其他平台上,0 是一个不错的值。
- PRIORITY_ABOVE_NORMAL - 这对应于 Windows 和所有其他平台上的 ABOVE_NORMAL_PRIORITY_CLASS,它的值为 -7。
- PRIORITY_HIGH - 在Windows上,这对应于HIGH_PRIORITY_CLASS,而在所有其他平台上,它的值为-14。
- PRIORITY_HIGHEST - 这是最高的进程计划优先级,对应于 Windows 上的REALTIME_PRIORITY_CLASS。−20 在所有其他平台上都是一个不错的值。
在以下示例中,我们尝试将当前进程的优先级设置为 0。
const os = require('os');
os.setPriority(0);
console.log(os.getPriority());
输出
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() 方法,它打印了当前进程的优先级。
例
在下面的示例中,我们尝试将当前进程的优先级设置为 19。
const os = require('os');
os.setPriority(19);
console.log(os.getPriority());
错误
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() 方法打印当前进程的调度优先级。
例
注意 - 如果运行该程序的用户没有权限,则该权限将减少到PRIORITY_HIGH。
在以下示例中,我们使用 setPriority() 方法将当前进程的优先级设置为 -20。
const os = require('os');
os.setPriority(-20);
console.log(os.getPriority());
错误
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)。