获取进程相关的信息,提供进程管理的相关功能。
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
系统能力: SystemCapability.Utils.Lang
元服务API: 从API version 11开始,该接口支持在元服务中使用。
| 名称 | 类型 | 只读 | 可选 | 说明 |
|---|---|---|---|---|
| uid | number | 是 | 否 | 进程的用户标识。 |
| pid | number | 是 | 否 | 当前进程的pid。 |
| tid8+ | number | 是 | 否 | 当前线程的tid。 |
type EventListener = (evt: Object) => void
用户存储的事件信息。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| evt | Object | 是 | 用户事件。 |
isIsolatedProcess(): boolean
检查进程是否已被隔离。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回判断结果。如果进程被隔离则返回true,否则返回false。 |
示例:
let result = process.isIsolatedProcess();
is64Bit(): boolean
检查运行环境是否为64位。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回判断结果。如果运行环境是64位则返回true,否则返回false。 |
示例:
let result = process.is64Bit();
getStartRealtime(): number
获取系统启动到进程启动的实时时间(以毫秒为单位,不包含系统休眠时间)。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回经过的实时时间。单位:毫秒。 |
示例:
let realtime = process.getStartRealtime();
getPastCpuTime(): number
获取进程启动到当前时间的CPU时间(以毫秒为单位)。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回经过的CPU时间。单位:毫秒。 |
示例:
let result = process.getPastCpuTime();
abort(): void
该方法会导致进程立即退出并生成一个核心文件,谨慎使用。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
示例:
process.abort();
uptime(): number
获取当前系统已运行的时间(以秒为单位)。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
返回值:
| 类型 | 说明 |
|---|---|
| number | 当前系统已运行的时间。单位:秒。 |
示例:
let time = process.uptime();
kill(signal: number, pid: number): boolean
发送信号到指定进程,结束该进程。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| signal | number | 是 | 发送的信号。 |
| pid | number | 是 | 进程的id。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 信号发送成功返回true,失败返回false。 |
示例:
let pid = process.pid; let result = process.kill(28, pid);
exit(code: number): void
终止程序。
请谨慎使用此接口。调用此接口后应用将退出。如果输入参数非0,可能会导致数据丢失或出现未定义的运行异常。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | number | 是 | 进程的退出码。 |
示例:
process.exit(0);
getUidForName(v: string): number
根据指定的用户名,从系统的用户数据库中获取该用户的uid。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| v | string | 是 | 用户名。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回用户uid。 |
示例:
let pres = process.getUidForName("tool"); getThreadPriority(v: number): number
根据指定的tid获取线程优先级,优先级顺序取决于当前操作系统。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| v | number | 是 | 指定的线程tid。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回线程的优先级。优先级顺序取决于当前操作系统。 |
示例:
let tid = process.tid; let pres = process.getThreadPriority(tid);
isAppUid(v: number): boolean
判断uid是否属于应用程序。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| v | number | 是 | 应用程序的uid。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回判断结果。如果是应用程序的uid则返回true,否则返回false。 |
示例:
// uid通过process.uid获取 let pres = process.uid; let result = process.isAppUid(pres);
getSystemConfig(name: number): number
获取系统配置信息。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | number | 是 | 指定系统配置参数名。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回系统配置信息。 |
示例:
let _SC_ARG_MAX = 0; let pres = process.getSystemConfig(_SC_ARG_MAX);
getEnvironmentVar(name: string): string
获取环境变量名对应的值。如果环境变量不存在,返回undefined。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 环境变量名。 |
返回值:
| 类型 | 说明 |
|---|---|
| string | 返回环境变量名对应的值。 |
示例:
let pres = process.getEnvironmentVar("PATH"); 提供进程管理相关接口,包括进程uid判断、用户信息查询、线程优先级获取、环境变量获取、进程退出和信号发送等功能。
通过new process.ProcessManager()构造ProcessManager对象。
isAppUid(v: number): boolean
判断uid是否属于当前应用程序。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| v | number | 是 | 应用程序的uid。可通过process.uid获取。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 返回判断结果。如果是应用程序的uid则返回true,否则返回false。 |
示例:
// 创建ProcessManager实例
let processManager = new process.ProcessManager();
// uid通过process.uid获取
let pres = process.uid;
// 判断uid是否属于当前应用程序
let result = processManager.isAppUid(pres);
console.info("result:", result); // result: true getUidForName(v: string): number
根据指定的用户名,从系统的用户数据库中获取该用户的uid。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| v | string | 是 | 用户名。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 获取用户uid,如果用户不存在则返回-1。 |
示例:
// 创建ProcessManager实例
let processManager = new process.ProcessManager();
// 根据用户名获取uid
let pres = processManager.getUidForName("tool"); getThreadPriority(v: number): number
根据指定的tid获取线程优先级。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| v | number | 是 | 指定的线程tid。可通过process.tid获取。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回线程的优先级。优先级顺序取决于当前操作系统。 |
示例:
// 创建ProcessManager实例 let processManager = new process.ProcessManager(); // 获取当前线程tid let tid = process.tid; // 根据tid获取线程优先级 let pres = processManager.getThreadPriority(tid);
getSystemConfig(name: number): number
获取系统配置信息。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | number | 是 | 指定系统配置参数名。 |
返回值:
| 类型 | 说明 |
|---|---|
| number | 返回系统配置信息。如果配置不存在,返回-1。 |
示例:
// 创建ProcessManager实例 let processManager = new process.ProcessManager(); // 定义系统配置参数 let _SC_ARG_MAX = 0; // 获取系统配置信息 let pres = processManager.getSystemConfig(_SC_ARG_MAX);
getEnvironmentVar(name: string): string
获取环境变量对应的值。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 是 | 环境变量名。 |
返回值:
| 类型 | 说明 |
|---|---|
| string | 返回指定环境变量名对应的值。如果环境变量不存在,返回undefined。 |
示例:
// 创建ProcessManager实例
let processManager = new process.ProcessManager();
// 获取PATH环境变量的值
let pres = processManager.getEnvironmentVar("PATH"); exit(code: number): void
终止程序。
请谨慎使用此接口,此接口调用后应用会退出,如果输入参数非0,可能会导致数据丢失或出现未定义的运行异常。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | number | 是 | 进程的退出码。 |
示例:
let processManager = new process.ProcessManager(); processManager.exit(0);
kill(signal: number, pid: number): boolean
发送信号到指定的进程,结束指定进程(仅支持结束本进程)。
元服务API: 从API version 11开始,该接口支持在元服务中使用。
系统能力: SystemCapability.Utils.Lang
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| signal | number | 是 | 发送特定的信号给指定进程。 取值范围:1 <= signal <= 64。 |
| pid | number | 是 | 进程的id。可通过process.pid获取。 |
返回值:
| 类型 | 说明 |
|---|---|
| boolean | 信号是否发送成功。如果信号发送成功则返回true,否则返回false。 |
示例:
// 创建ProcessManager实例 let processManager = new process.ProcessManager(); // 获取当前进程pid let pres = process.pid; // 发送信号28结束当前进程 let result = processManager.kill(28, pres);