# @ohos.process (获取进程相关的信息) 获取进程相关的信息,提供进程管理的相关功能。 > **说明:** > > 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 ## 导入模块 ```ts import { process } from '@kit.ArkTS'; ``` ## 属性 **系统能力:** SystemCapability.Utils.Lang **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 | 名称 | 类型 | 可读 | 可写 | 说明 | | ---------------- | ------ | ---- | ---- | ---------------- | | uid | number | 是 | 否 | 进程的用户标识。 | | pid | number | 是 | 否 | 当前进程的pid。 | | tid8+ | number | 是 | 否 | 当前线程的tid。 | ## EventListener type EventListener = (evt: Object) => void 用户存储的事件 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | --------------- | | evt | Object | 是 | 用户事件。| ## process.isIsolatedProcess8+ isIsolatedProcess(): boolean 判断进程是否被隔离。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **返回值:** | 类型 | 说明 | | ------- | ------------------------------------------------------- | | boolean | 返回判断结果,如果进程被隔离则返回true,否则返回false。 | **示例:** ```js let result = process.isIsolatedProcess(); ``` ## process.is64Bit8+ is64Bit(): boolean 判断运行环境是否64位。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **返回值:** | 类型 | 说明 | | ------- | ----------------------------------------------------------- | | boolean | 返回判断结果,如果运行环境是64位则返回true,否则返回false。 | **示例:** ```js let result = process.is64Bit(); ``` ## process.getStartRealtime8+ getStartRealtime(): number 获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **返回值:** | 类型 | 说明 | | ------ | ------------------------------ | | number | 返回经过的实时时间。单位:毫秒 | **示例:** ```js let realtime = process.getStartRealtime(); ``` ## process.getPastCpuTime8+ getPastCpuTime(): number 获取进程启动到当前时间的CPU时间(以毫秒为单位)。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **返回值:** | 类型 | 说明 | | ------ | ----------------------------- | | number | 返回经过的CPU时间。单位:毫秒 | **示例:** ```js let result = process.getPastCpuTime() ; ``` ## process.abort abort(): void 该方法会导致进程立即退出并生成一个核心文件,谨慎使用。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **示例:** ```js process.abort(); ``` ## process.uptime uptime(): number 获取当前系统已运行的秒数。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **返回值:** | 类型 | 说明 | | ------ | ---------------------- | | number | 当前系统已运行的秒数。 | **示例:** ```js let time = process.uptime(); ``` ## process.kill(deprecated) kill(signal: number, pid: number): boolean 发送signal到指定的进程,结束指定进程。 > **说明:** > > 从API version 7开始支持,从API version 9开始废弃,建议使用[kill9+](#kill9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------ | | signal | number | 是 | 发送的信号。 | | pid | number | 是 | 进程的id。 | **返回值:** | 类型 | 说明 | | ------- | ------------------------------------------------------------ | | boolean | 信号是否发送成功。如果信号发送成功则返回true,否则返回false。 | **示例:** ```js let pres = process.pid let result = process.kill(28, pres) ``` ## process.exit(deprecated) exit(code: number): void 终止程序。 请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况。 > **说明:** > > 从API version 7开始支持,从API version 9开始废弃,建议使用[exit9+](#exit9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------- | | code | number | 是 | 进程的退出码。 | **示例:** ```js process.exit(0); ``` ## process.getUidForName(deprecated) getUidForName(v: string): number 根据指定的用户名,从系统的用户数据库中获取该用户uid。 > **说明:** > > 从API version 8开始支持,从API version 9开始废弃,建议使用[getUidForName9+](#getuidforname9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------- | | v | string | 是 | 用户名。 | **返回值:** | 类型 | 说明 | | ------ | ------------- | | number | 返回用户uid。 | **示例:** ```js let pres = process.getUidForName("tool") ``` ## process.getThreadPriority(deprecated) getThreadPriority(v: number): number 根据指定的tid获取线程优先级。 > **说明:** > > 从API version 8开始支持,从API version 9开始废弃,建议使用[getThreadPriority9+](#getthreadpriority9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | --------------- | | v | number | 是 | 指定的线程tid。 | **返回值:** | 类型 | 说明 | | ------ | ------------------------------------------------ | | number | 返回线程的优先级。优先级顺序取决于当前操作系统。 | **示例:** ```js let tid = process.tid; let pres = process.getThreadPriority(tid); ``` ## process.isAppUid(deprecated) isAppUid(v: number): boolean 判断uid是否属于应用程序。 > **说明:** > > 从API version 8开始支持,从API version 9开始废弃,建议使用[isAppUid9+](#isappuid9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | --------------- | | v | number | 是 | 应用程序的uid。 | **返回值:** | 类型 | 说明 | | ------- | ------------------------------------------------------------ | | boolean | 返回判断结果,如果是应用程序的uid则返回true,否则返回false。 | **示例:** ```js let result = process.isAppUid(688); ``` ## process.getSystemConfig(deprecated) getSystemConfig(name: number): number 获取系统配置信息。 > **说明:** > > 从API version 8开始支持,从API version 9开始废弃,建议使用[getSystemConfig9+](#getsystemconfig9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | name | number | 是 | 指定系统配置参数名。 | **返回值:** | 类型 | 说明 | | ------ | ------------------ | | number | 返回系统配置信息。 | **示例:** ```js let _SC_ARG_MAX = 0 let pres = process.getSystemConfig(_SC_ARG_MAX) ``` ## process.getEnvironmentVar(deprecated) getEnvironmentVar(name: string): string 获取环境变量对应的值。 > **说明:** > > 从API version 8开始支持,从API version 9开始废弃,建议使用[getEnvironmentVar9+](#getenvironmentvar9)替代。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------ | | name | string | 是 | 环境变量名。 | **返回值:** | 类型 | 说明 | | ------ | --------------------------- | | string | 返回环境变量名对应的value。 | **示例:** ```js let pres = process.getEnvironmentVar("PATH") ``` ## ProcessManager9+ 提供用于新增进程的抛异常接口。 通过自身的构造来获取ProcessManager对象。 ### isAppUid9+ isAppUid(v: number): boolean 判断uid是否属于当前应用程序。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | --------------- | | v | number | 是 | 应用程序的uid。可通过process.uid获取 | **返回值:** | 类型 | 说明 | | ------- | ------------------------------------------------------------ | | boolean | 返回判断结果,如果是应用程序的uid则返回true,否则返回false。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); // uid通过process.uid获取 let pres = process.uid; let result = pro.isAppUid(pres); console.log("result: " + result); // result: true ``` ### getUidForName9+ getUidForName(v: string): number 根据指定的用户名,从系统的用户数据库中获取该用户uid。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------- | | v | string | 是 | 用户名。 | **返回值:** | 类型 | 说明 | | ------ | ------------- | | number | 返回用户uid,当获取的用户不存在时,返回-1。| **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); let pres = pro .getUidForName("tool"); ``` ### getThreadPriority9+ getThreadPriority(v: number): number 根据指定的tid获取线程优先级。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | --------------- | | v | number | 是 | 指定的线程tid。 | **返回值:** | 类型 | 说明 | | ------ | ------------------------------------------------ | | number | 返回线程的优先级。优先级顺序取决于当前操作系统。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); let tid = process.tid; let pres = pro.getThreadPriority(tid); ``` ### getSystemConfig9+ getSystemConfig(name: number): number 获取系统配置信息。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------------- | | name | number | 是 | 指定系统配置参数名。 | **返回值:** | 类型 | 说明 | | ------ | ------------------ | | number | 返回系统配置信息,当获取的系统配置不存在时,返回-1。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); let _SC_ARG_MAX = 0; let pres = pro.getSystemConfig(_SC_ARG_MAX); ``` ### getEnvironmentVar9+ getEnvironmentVar(name: string): string 获取环境变量对应的值。 > **说明:** > > 该接口是获取环境变量对应的值。当环境变量不存在时,返回undefined。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------ | | name | string | 是 | 环境变量名。 | **返回值:** | 类型 | 说明 | | ------ | ------------------------ | | string | 返回环境变量名对应的值。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); let pres = pro.getEnvironmentVar("PATH"); ``` ### exit9+ exit(code: number): void 终止程序。 请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | -------------- | | code | number | 是 | 进程的退出码。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); pro.exit(0); ``` ### kill9+ kill(signal: number, pid: number): boolean 发送signal到指定的进程,结束指定进程。 **原子化服务API:** 从API version 11 开始,该接口支持在原子化服务中使用。 **系统能力:** SystemCapability.Utils.Lang **参数:** | 参数名 | 类型 | 必填 | 说明 | | ------ | ------ | ---- | ------------ | | signal | number | 是 | 发送特定的信号给目标进程。 | | pid | number | 是 | 进程的id。 | **返回值:** | 类型 | 说明 | | ------- | ------------------------------------------------------------ | | boolean | 信号是否发送成功。如果信号发送成功则返回true,否则返回false。 | **错误码:** 以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | **示例:** ```js let pro = new process.ProcessManager(); let pres = process.pid; let result = pro.kill(28, pres); ```