From d9c70c592e56a8ca0d273d968938f893d8550d75 Mon Sep 17 00:00:00 2001 From: lee-wen-qiang Date: Sat, 7 Jan 2023 19:31:33 +0800 Subject: [PATCH] modify docs of process https://gitee.com/openharmony/docs/issues/I67Z1E Signed-off-by: lee-wen-qiang --- .../reference/apis/js-apis-process.md | 687 +++++++++--------- 1 file changed, 363 insertions(+), 324 deletions(-) diff --git a/zh-cn/application-dev/reference/apis/js-apis-process.md b/zh-cn/application-dev/reference/apis/js-apis-process.md index 9c009fc9fa..89919bc51a 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-process.md +++ b/zh-cn/application-dev/reference/apis/js-apis-process.md @@ -14,7 +14,7 @@ import process from '@ohos.process'; ## 属性 -**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 +**系统能力:** SystemCapability.Utils.Lang | 名称 | 类型 | 可读 | 可写 | 说明 | | -------- | -------- | -------- | -------- | -------- | @@ -28,129 +28,107 @@ import process from '@ohos.process'; | tid8+ | number | 是 | 否 | 当前进程的tid。 | -## ProcessManager9+ +## EventListener -提供用于新增进程的抛异常接口。 +系统能力: SystemCapability.Utils.Lang -### isAppUid9+ +| 名称 | 说明 | +| -------- | -------- | +| EventListener = (evt:  Object) => void | 用户存储的事件。 | -isAppUid(v: number): boolean -判断uid是否属于当前应用程序。 +## process.isIsolatedProcess8+ -**系统能力:** SystemCapability.Utils.Lang +isIsolatedProcess(): boolean -**参数:** +判断进程是否被隔离。 -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| v | number | 是 | 应用程序的uid。 | +**系统能力:** SystemCapability.Utils.Lang **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 返回判断结果,如果返回true表示为应用程序的uid。| +| boolean | 返回判断结果,true表示进程被隔离,false表示未被隔离。| **示例:** ```js -let pro = new process.ProcessManager(); -let result = pro.isAppUid(688); +let result = process.isIsolatedProcess(); ``` -### getUidForName9+ +## process.is64Bit8+ -getUidForName(v: string): number +is64Bit(): boolean -通过进程名获取进程uid。 +判断运行环境是否64位。 **系统能力:** SystemCapability.Utils.Lang -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| v | string | 是 | 进程名。 | - **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回进程uid。| +| boolean | 返回判断结果,如果为64位环境返回true,否则返回false。| **示例:** ```js -let pro = new process.ProcessManager(); -let pres = pro .getUidForName("tool"); +let result = process.is64Bit(); ``` -### getThreadPriority9+ +## process.getStartRealtime8+ -getThreadPriority(v: number): number +getStartRealtime(): number -根据指定的tid获取线程优先级。 +获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)。 **系统能力:** SystemCapability.Utils.Lang -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| v | number | 是 | 指定的线程tid。 | - **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回线程的优先级。 | +| number | 返回经过的实时时间。单位:毫秒| **示例:** ```js -let pro = new process.ProcessManager(); -let tid = process.tid; -let pres = pro.getThreadPriority(tid); +let realtime = process.getStartRealtime(); ``` +## process.getPastCpuTime8+ -### getSystemConfig9+ - -getSystemConfig(name: number): number +getPastCpuTime(): number -获取系统配置信息。 +获取进程启动到当前时间的CPU时间(以毫秒为单位)。 **系统能力:** SystemCapability.Utils.Lang -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| name | number | 是 | 指定系统配置参数名。 | - **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回系统配置信息。 | +| number | 返回经过的CPU时间。单位:毫秒| **示例:** ```js -let pro = new process.ProcessManager(); -let _SC_ARG_MAX = 0; -let pres = pro.getSystemConfig(_SC_ARG_MAX); +let result = process.getPastCpuTime() ; ``` -### getEnvironmentVar9+ +## process.runCmd -getEnvironmentVar(name: string): string +runCmd(command: string, options?: { timeout?: number, killSignal?: number | string, maxBuffer?: number }): ChildProcess -用该方法获取环境变量对应的值。 +通过runcmd可以fork一个新的进程来运行一段shell,并返回ChildProcess对象。 + +**系统接口:** 此接口为系统接口。 + +此接口仅用于对应用的测试。 **系统能力:** SystemCapability.Utils.Lang @@ -158,29 +136,58 @@ getEnvironmentVar(name: string): string | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| name | string | 是 | 环境变量名。 | +| command | string | 是 | shell命令。 | +| options | Object | 否 | 相关选项参数。 | + +**表1** options + +| 名称 | 参数类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| timeout | number | 否 | 子进程运行的毫秒数,当子进程运行时间超出此时间,则父进程发送killSignal信号给子进程。timeout默认为0。 | +| killSignal | number \| string | 否 | 子进程运行时间超出timeout时,父进程发送killSignal 信号给子进程。killSignal 默认为'SIGTERM'。 | +| maxBuffer | number | 否 | 子进程标准输入输出的最大缓冲区大小,当超出此大小时则终止子进程。maxBuffer默认1024\*1024。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| string | 返回环境变量名对应的value。 | +| [ChildProcess](#childprocess) | 子进程对象。 | **示例:** ```js -let pro = new process.ProcessManager(); -let pres = pro.getEnvironmentVar("PATH"); +let child = process.runCmd('ls', { maxBuffer : 2 }); +let result = child.wait(); +child.getOutput.then(val=>{ + console.log("child.getOutput = " + val); +}) ``` -### exit9+ +## process.abort -exit(code: number): void +abort(): void -终止程序。 +该方法会导致进程立即退出并生成一个核心文件,谨慎使用。 + +**系统能力:** SystemCapability.Utils.Lang + +**示例:** + +```js +process.abort(); +``` -请谨慎使用此接口。 + +## process.on + +on(type: string, listener: EventListener): void + +存储用户所触发的事件。 + +**系统接口:** 此接口为系统接口。 + +此接口仅用于对应用的测试。 **系统能力:** SystemCapability.Utils.Lang @@ -188,21 +195,27 @@ exit(code: number): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| code | number | 是 | 进程的退出码。 | +| type | string | 是 | 存储事件的type。 | +| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 | **示例:** ```js -let pro = new process.ProcessManager(); -pro.exit(0); +process.on("data", (e)=>{ + console.log("data callback"); +}) ``` -### kill9+ +## process.off -kill(signal: number, pid: number): boolean +off(type: string): boolean -发送signal到指定的进程,结束指定进程。 +删除用户存储的事件。 + +**系统接口:** 此接口为系统接口。 + +此接口仅用于对应用的测试。 **系统能力:** SystemCapability.Utils.Lang @@ -210,49 +223,54 @@ kill(signal: number, pid: number): boolean | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| pid | number | 是 | 进程的id。 | -| signal | number | 是 | 发送的信号。 | +| type | string | 是 | 删除事件的type。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 信号是否发送成功。 | +| boolean | 事件删除成功则返回true,没有成功则为false。| **示例:** ```js -let pro = new process.ProcessManager(); -let pres = process.pid; -let result = pro.kill(28, pres); +process.on("data", (e)=>{ + console.log("data callback"); +}) +let result = process.off("data"); ``` -## ChildProcess +## process.cwd + +cwd(): string -主进程可以获取子进程的标准输入输出,以及发送信号和关闭子进程。 +获取进程的工作目录。 **系统接口:** 此接口为系统接口。 -### 属性 +此接口仅用于对应用的测试。 -**系统接口:** 此接口为系统接口。 +**系统能力:** SystemCapability.Utils.Lang -**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 +**返回值:** -| 名称 | 类型 | 可读 | 可写 | 说明 | -| -------- | -------- | -------- | -------- | -------- | -| pid | number | 是 | 否 | 子进程的pid。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | -| ppid | number | 是 | 否 | 子进程的父进程的pid。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | -| exitCode | number | 是 | 否 | 子进程的退出码。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。| -| killed | boolean | 是 | 否 | 父进程给子进程发信号是否成功。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | +| 类型 | 说明 | +| -------- | -------- | +| string| 返回当前进程的工作目录。 | +**示例:** -### wait +```js +let path = process.cwd(); +``` -wait(): Promise<number> -等待子进程运行结束,返回promise对象,其值为子进程的退出码。 +## process.chdir + +chdir(dir: string): void + +更改进程的当前工作目录。 **系统接口:** 此接口为系统接口。 @@ -260,32 +278,24 @@ wait(): Promise<number> **系统能力:** SystemCapability.Utils.Lang -**返回值:** +**参数:** -| 类型 | 说明 | -| -------- | -------- | -| Promise<number> | 异步返回子进程的退出码。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| dir | string | 是 | 路径。 | **示例:** ```js -let child = process.runCmd('ls'); -let result = child.wait(); -result.then(val=>{ - console.log("result = " + val); -}) +process.chdir('/system'); ``` -### getOutput - -getOutput(): Promise<Uint8Array> - -获取子进程的标准输出。 +## process.uptime -**系统接口:** 此接口为系统接口。 +uptime(): number -此接口仅用于对应用的测试。 +获取当前系统已运行的秒数。 **系统能力:** SystemCapability.Utils.Lang @@ -293,77 +303,84 @@ getOutput(): Promise<Uint8Array> | 类型 | 说明 | | -------- | -------- | -| Promise<Uint8Array> | 异步返回标准输出的字节流。 | +| number | 当前系统已运行的秒数。 | **示例:** ```js -let child = process.runCmd('ls'); -let result = child.wait(); -child.getOutput().then(val=>{ - console.log("child.getOutput = " + val); -}) +let time = process.uptime(); ``` -### getErrorOutput - -getErrorOutput(): Promise<Uint8Array> +## process.kill(deprecated) -获取子进程的标准错误输出。 +kill(signal: number, pid: number): boolean -**系统接口:** 此接口为系统接口。 +发送signal到指定的进程,结束指定进程。 -此接口仅用于对应用的测试。 +> **说明:** +> +> 从API version 7开始支持,从API version 9开始废弃,建议使用[kill9+](#kill9)替代。 **系统能力:** SystemCapability.Utils.Lang +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| pid | number | 是 | 进程的id。 | +| signal | number | 是 | 发送的信号。 | + **返回值:** | 类型 | 说明 | | -------- | -------- | -| Promise<Uint8Array> | 异步返回标准错误输出的字节流。 | +| boolean | 信号是否发送成功。 | **示例:** ```js -let child = process.runCmd('madir test.text'); -let result = child.wait(); -child.getErrorOutput().then(val=>{ - console.log("child.getErrorOutput= " + val); -}) +let pres = process.pid +let result = process.kill(28, pres) ``` -### close +## process.exit(deprecated) -close(): void +exit(code: number): void -关闭正在运行的子进程。 +终止程序。 -**系统接口:** 此接口为系统接口。 +请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况。 -此接口仅用于对应用的测试。 +> **说明:** +> +> 从API version 7开始支持,从API version 9开始废弃,建议使用[exit9+](#exit9)替代。 **系统能力:** SystemCapability.Utils.Lang +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| code | number | 是 | 进程的退出码。 | + **示例:** ```js -let child = process.runCmd('sleep 5; ls'); -child.close(); +process.exit(0); ``` -### kill - -kill(signal: number | string): void +## process.getUidForName(deprecated) -用于发送信号给子进程,结束指定进程。 +getUidForName(v: string): number -**系统接口:** 此接口为系统接口。 +通过进程名获取进程uid。 -此接口仅用于对应用的测试。 +> **说明:** +> +> 从API version 8开始支持,从API version 9开始废弃,建议使用[getUidForName9+](#getuidforname9)替代。 **系统能力:** SystemCapability.Utils.Lang @@ -371,43 +388,63 @@ kill(signal: number | string): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| signal | number \| string | 是 | 数字或字符串。 | +| v | string | 是 | 进程名。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| number | 返回进程uid。| **示例:** ```js -let child = process.runCmd('sleep 5; ls'); -child.kill(9); +let pres = process.getUidForName("tool") ``` -## process.isIsolatedProcess8+ +## process.getThreadPriority(deprecated) -isIsolatedProcess(): boolean +getThreadPriority(v: number): number -判断进程是否被隔离。 +根据指定的tid获取线程优先级。 + +> **说明:** +> +> 从API version 8开始支持,从API version 9开始废弃,建议使用[getThreadPriority9+](#getthreadpriority9)替代。 **系统能力:** SystemCapability.Utils.Lang +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| v | number | 是 | 指定的线程tid。 | + **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 返回判断结果,如果返回true表示进程被隔离。 | +| number | 返回线程的优先级。 | **示例:** ```js -let result = process.isIsolatedProcess(); +let tid = process.tid; +let pres = process.getThreadPriority(tid); ``` -## process.isAppUid8+ +## process.isAppUid(deprecated) isAppUid(v: number): boolean 判断uid是否属于应用程序。 +> **说明:** +> +> 从API version 8开始支持,从API version 9开始废弃,建议使用[isAppUid9+](#isappuid9)替代。 + **系统能力:** SystemCapability.Utils.Lang **参数:** @@ -420,7 +457,7 @@ isAppUid(v: number): boolean | 类型 | 说明 | | -------- | -------- | -| boolean | 返回判断结果,如果返回true表示为应用程序的uid。| +| boolean | 返回判断结果,如果为应用程序的uid返回true,否则返回false。| **示例:** @@ -429,28 +466,104 @@ let result = process.isAppUid(688); ``` -## process.is64Bit8+ +## process.getSystemConfig(deprecated) -is64Bit(): boolean +getSystemConfig(name: number): number -判断运行环境是否64位。 +获取系统配置信息。 + +> **说明:** +> +> 从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是否属于当前应用程序。 + +**系统能力:** SystemCapability.Utils.Lang + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| v | number | 是 | 应用程序的uid。 | + **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 返回判断结果,如果返回true表示为64位环境。 | +| boolean | 返回判断结果,如果为应用程序的uid返回true,否则返回false。| **示例:** ```js -let result = process.is64Bit(); +let pro = new process.ProcessManager(); +let result = pro.isAppUid(688); ``` -## process.getUidForName8+ +### getUidForName9+ getUidForName(v: string): number @@ -473,11 +586,12 @@ getUidForName(v: string): number **示例:** ```js -let pres = process.getUidForName("tool") +let pro = new process.ProcessManager(); +let pres = pro .getUidForName("tool"); ``` -## process.getThreadPriority8+ +### getThreadPriority9+ getThreadPriority(v: number): number @@ -500,57 +614,46 @@ getThreadPriority(v: number): number **示例:** ```js +let pro = new process.ProcessManager(); let tid = process.tid; -let pres = process.getThreadPriority(tid); +let pres = pro.getThreadPriority(tid); ``` -## process.getStartRealtime8+ +### getSystemConfig9+ -getStartRealtime(): number +getSystemConfig(name: number): number -获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)。 +获取系统配置信息。 **系统能力:** SystemCapability.Utils.Lang -**返回值:** - -| 类型 | 说明 | -| -------- | -------- | -| number | 返回经过的实时时间。| - -**示例:** - -```js -let realtime = process.getStartRealtime(); -``` - -## process.getPastCpuTime8+ - -getPastCpuTime(): number - -获取进程启动到当前时间的CPU时间(以毫秒为单位)。 +**参数:** -**系统能力:** SystemCapability.Utils.Lang +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| name | number | 是 | 指定系统配置参数名。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回经过的CPU时间。 | +| number | 返回系统配置信息。 | **示例:** ```js -let result = process.getPastCpuTime() ; +let pro = new process.ProcessManager(); +let _SC_ARG_MAX = 0; +let pres = pro.getSystemConfig(_SC_ARG_MAX); ``` -## process.getSystemConfig8+ +### getEnvironmentVar9+ -getSystemConfig(name: number): number +getEnvironmentVar(name: string): string -获取系统配置信息。 +获取环境变量对应的值。 **系统能力:** SystemCapability.Utils.Lang @@ -558,27 +661,29 @@ getSystemConfig(name: number): number | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| name | number | 是 | 指定系统配置参数名。 | +| name | string | 是 | 环境变量名。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| number | 返回系统配置信息。 | +| string | 返回环境变量名对应的值。 | **示例:** ```js -let _SC_ARG_MAX = 0 -let pres = process.getSystemConfig(_SC_ARG_MAX) +let pro = new process.ProcessManager(); +let pres = pro.getEnvironmentVar("PATH"); ``` -## process.getEnvironmentVar8+ +### exit9+ -getEnvironmentVar(name: string): string +exit(code: number): void + +终止程序。 -用该方法获取环境变量对应的值。 +请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况。 **系统能力:** SystemCapability.Utils.Lang @@ -586,30 +691,21 @@ getEnvironmentVar(name: string): string | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| name | string | 是 | 环境变量名。 | - -**返回值:** - -| 类型 | 说明 | -| -------- | -------- | -| string | 返回环境变量名对应的value。 | +| code | number | 是 | 进程的退出码。 | **示例:** ```js -let pres = process.getEnvironmentVar("PATH") +let pro = new process.ProcessManager(); +pro.exit(0); ``` -## process.runCmd - -runCmd(command: string, options?: { timeout?: number, killSignal?: number | string, maxBuffer?: number }): ChildProcess - -通过runcmd可以fork一个新的进程来运行一段shell,并返回ChildProcess对象。 +### kill9+ -**系统接口:** 此接口为系统接口。 +kill(signal: number, pid: number): boolean -此接口仅用于对应用的测试。 +发送signal到指定的进程,结束指定进程。 **系统能力:** SystemCapability.Utils.Lang @@ -617,54 +713,49 @@ runCmd(command: string, options?: { timeout?: number, killSignal?: number | stri | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| command | string | 是 | shell命令。 | -| options | Object | 否 | 相关选项参数。 | - -**表1** options - -| 名称 | 参数类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| timeout | number | 否 | 子进程运行的ms数,当子进程运行时间超出此时间,则父进程发送killSignal信号给子进程。timeout默认为0。 | -| killSignal | number \| string | 否 | 子进程运行时间超出timeout时,父进程发送killSignal 信号给子进程。killSignal 默认为'SIGTERM'。 | -| maxBuffer | number | 否 | 子进程标准输入输出的最大缓冲区大小,当超出此大小时则终止子进程。maxBuffer默认1024\*1024。 | +| pid | number | 是 | 进程的id。 | +| signal | number | 是 | 发送的信号。 | **返回值:** | 类型 | 说明 | | -------- | -------- | -| [ChildProcess](#childprocess) | 子进程对象。 | +| boolean | 信号是否发送成功。 | **示例:** ```js -let child = process.runCmd('ls', { maxBuffer : 2 }); -let result = child.wait(); -child.getOutput.then(val=>{ - console.log("child.getOutput = " + val); -}) +let pro = new process.ProcessManager(); +let pres = process.pid; +let result = pro.kill(28, pres); ``` -## process.abort +## ChildProcess -abort(): void +ChildProcess对象为创建的新的子进程,主进程可以获取子进程的标准输入输出,以及发送信号和关闭子进程,可以通过[process.runCmd](#processruncmd)获取ChildProcess对象。 -该方法会导致进程立即退出并生成一个核心文件,谨慎使用。 +**系统接口:** 此接口为系统接口。 -**系统能力:** SystemCapability.Utils.Lang +### 属性 -**示例:** +**系统接口:** 此接口为系统接口。 -```js -process.abort(); -``` +**系统能力:** SystemCapability.Utils.Lang + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| -------- | -------- | -------- | -------- | -------- | +| pid | number | 是 | 否 | 子进程的pid。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | +| ppid | number | 是 | 否 | 子进程的父进程的pid。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | +| exitCode | number | 是 | 否 | 子进程的退出码。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。| +| killed | boolean | 是 | 否 | 父进程给子进程发信号是否成功。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。 | -## process.on +### wait -on(type: string, listener: EventListener): void +wait(): Promise<number> -存储用户所触发的事件。 +等待子进程运行结束,返回promise对象,其值为子进程的退出码。 **系统接口:** 此接口为系统接口。 @@ -672,33 +763,28 @@ on(type: string, listener: EventListener): void **系统能力:** SystemCapability.Utils.Lang -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| type | string | 是 | 存储事件的type。 | -| listener | EventListener | 是 | 回调的事件。 | - -**表2** EventListener +**返回值:** -| 名称 | 说明 | +| 类型 | 说明 | | -------- | -------- | -| EventListener = (evt:  Object) => void | 用户存储的事件。 | +| Promise<number> | 异步返回子进程的退出码。 | **示例:** ```js -process.on("data", (e)=>{ - console.log("data callback"); +let child = process.runCmd('ls'); +let result = child.wait(); +result.then(val=>{ + console.log("result = " + val); }) ``` -## process.off +### getOutput -off(type: string): boolean +getOutput(): Promise<Uint8Array> -删除用户存储的事件。 +获取子进程的标准输出。 **系统接口:** 此接口为系统接口。 @@ -706,56 +792,57 @@ off(type: string): boolean **系统能力:** SystemCapability.Utils.Lang -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| type | string | 是 | 删除事件的type。 | - **返回值:** | 类型 | 说明 | | -------- | -------- | -| boolean | 事件是否删除成功。 | +| Promise<Uint8Array> | 异步返回标准输出的字节流。 | **示例:** ```js -process.on("data", (e)=>{ - console.log("data callback"); +let child = process.runCmd('ls'); +let result = child.wait(); +child.getOutput().then(val=>{ + console.log("child.getOutput = " + val); }) -let result = process.off("data"); ``` -## process.exit +### getErrorOutput -exit(code: number): void +getErrorOutput(): Promise<Uint8Array> -终止程序。 +获取子进程的标准错误输出。 + +**系统接口:** 此接口为系统接口。 -请谨慎使用此接口。 +此接口仅用于对应用的测试。 **系统能力:** SystemCapability.Utils.Lang -**参数:** +**返回值:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| code | number | 是 | 进程的退出码。 | +| 类型 | 说明 | +| -------- | -------- | +| Promise<Uint8Array> | 异步返回标准错误输出的字节流。 | **示例:** ```js -process.exit(0); +let child = process.runCmd('madir test.text'); +let result = child.wait(); +child.getErrorOutput().then(val=>{ + console.log("child.getErrorOutput= " + val); +}) ``` -## process.cwd +### close -cwd(): string +close(): void -用该方法获取进程的工作目录。 +关闭正在运行的子进程。 **系统接口:** 此接口为系统接口。 @@ -766,15 +853,16 @@ cwd(): string **示例:** ```js -let path = process.cwd(); +let child = process.runCmd('sleep 5; ls'); +child.close(); ``` -## process.chdir +### kill -chdir(dir: string): void +kill(signal: number | string): void -更改进程的当前工作目录。 +用于发送信号给子进程,结束指定进程。 **系统接口:** 此接口为系统接口。 @@ -786,60 +874,11 @@ chdir(dir: string): void | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | -| dir | string | 是 | 路径。 | - -**示例:** - -```js -process.chdir('/system'); -``` - - -## process.uptime - -uptime(): number - -获取当前系统已运行的秒数。 - -**系统能力:** SystemCapability.Utils.Lang - -**返回值:** - -| 类型 | 说明 | -| -------- | -------- | -| number | 当前系统已运行的秒数。 | - -**示例:** - -```js -let time = process.uptime(); -``` - - -## process.kill - -kill(signal: number, pid: number): boolean - -发送signal到指定的进程,结束指定进程。 - -**系统能力:** SystemCapability.Utils.Lang - -**参数:** - -| 参数名 | 类型 | 必填 | 说明 | -| -------- | -------- | -------- | -------- | -| pid | number | 是 | 进程的id。 | -| signal | number | 是 | 发送的信号。 | - -**返回值:** - -| 类型 | 说明 | -| -------- | -------- | -| boolean | 信号是否发送成功。 | +| signal | number \| string | 是 | 数字或字符串。 | **示例:** ```js -let pres = process.pid -let result = process.kill(28, pres) +let child = process.runCmd('sleep 5; ls'); +child.kill(9); ``` -- GitLab