未验证 提交 5234e11a 编写于 作者: O openharmony_ci 提交者: Gitee

!13342 modify docs of process

Merge pull request !13342 from lwx1067109/master
...@@ -14,7 +14,7 @@ import process from '@ohos.process'; ...@@ -14,7 +14,7 @@ import process from '@ohos.process';
## 属性 ## 属性
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 **系统能力:** SystemCapability.Utils.Lang
| 名称 | 类型 | 可读 | 可写 | 说明 | | 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- | -------- |
...@@ -28,129 +28,107 @@ import process from '@ohos.process'; ...@@ -28,129 +28,107 @@ import process from '@ohos.process';
| tid<sup>8+</sup> | number | 是 | 否 | 当前进程的tid。 | | tid<sup>8+</sup> | number | 是 | 否 | 当前进程的tid。 |
## ProcessManager<sup>9+</sup> ## EventListener
提供用于新增进程的抛异常接口。 系统能力: SystemCapability.Utils.Lang
### isAppUid<sup>9+</sup> | 名称 | 说明 |
| -------- | -------- |
| EventListener&nbsp;=&nbsp;(evt: &nbsp;Object)&nbsp;=&gt;&nbsp;void | 用户存储的事件。 |
isAppUid(v: number): boolean
判断uid是否属于当前应用程序。 ## process.isIsolatedProcess<sup>8+</sup>
**系统能力:** SystemCapability.Utils.Lang isIsolatedProcess(): boolean
**参数:** 判断进程是否被隔离。
| 参数名 | 类型 | 必填 | 说明 | **系统能力:** SystemCapability.Utils.Lang
| -------- | -------- | -------- | -------- |
| v | number | 是 | 应用程序的uid。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 返回判断结果,如果返回true表示为应用程序的uid。| | boolean | 返回判断结果,true表示进程被隔离,false表示未被隔离。|
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); let result = process.isIsolatedProcess();
let result = pro.isAppUid(688);
``` ```
### getUidForName<sup>9+</sup> ## process.is64Bit<sup>8+</sup>
getUidForName(v: string): number is64Bit(): boolean
通过进程名获取进程uid 判断运行环境是否64位
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| v | string | 是 | 进程名。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回进程uid。| | boolean | 返回判断结果,如果为64位环境返回true,否则返回false。|
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); let result = process.is64Bit();
let pres = pro .getUidForName("tool");
``` ```
### getThreadPriority<sup>9+</sup> ## process.getStartRealtime<sup>8+</sup>
getThreadPriority(v: number): number getStartRealtime(): number
根据指定的tid获取线程优先级 获取从系统启动到进程启动所经过的实时时间(以毫秒为单位)
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| v | number | 是 | 指定的线程tid。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回线程的优先级。 | | number | 返回经过的实时时间。单位:毫秒|
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); let realtime = process.getStartRealtime();
let tid = process.tid;
let pres = pro.getThreadPriority(tid);
``` ```
## process.getPastCpuTime<sup>8+</sup>
### getSystemConfig<sup>9+</sup> getPastCpuTime(): number
getSystemConfig(name: number): number
获取系统配置信息 获取进程启动到当前时间的CPU时间(以毫秒为单位)
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | number | 是 | 指定系统配置参数名。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回系统配置信息。 | | number | 返回经过的CPU时间。单位:毫秒|
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); let result = process.getPastCpuTime() ;
let _SC_ARG_MAX = 0;
let pres = pro.getSystemConfig(_SC_ARG_MAX);
``` ```
### getEnvironmentVar<sup>9+</sup> ## 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 **系统能力:** SystemCapability.Utils.Lang
...@@ -158,29 +136,58 @@ getEnvironmentVar(name: string): string ...@@ -158,29 +136,58 @@ getEnvironmentVar(name: string): string
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| name | string | 是 | 环境变量名。 | | command | string | 是 | shell命令。 |
| options | Object | 否 | 相关选项参数。 |
**表1** options
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| timeout | number | 否 | 子进程运行的毫秒数,当子进程运行时间超出此时间,则父进程发送killSignal信号给子进程。timeout默认为0。 |
| killSignal | number&nbsp;\|&nbsp;string | 否 | 子进程运行时间超出timeout时,父进程发送killSignal&nbsp;信号给子进程。killSignal&nbsp;默认为'SIGTERM'。 |
| maxBuffer | number | 否 | 子进程标准输入输出的最大缓冲区大小,当超出此大小时则终止子进程。maxBuffer默认1024\*1024。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| string | 返回环境变量名对应的value。 | | [ChildProcess](#childprocess) | 子进程对象。 |
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); let child = process.runCmd('ls', { maxBuffer : 2 });
let pres = pro.getEnvironmentVar("PATH"); let result = child.wait();
child.getOutput.then(val=>{
console.log("child.getOutput = " + val);
})
``` ```
### exit<sup>9+</sup> ## 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 **系统能力:** SystemCapability.Utils.Lang
...@@ -188,21 +195,27 @@ exit(code: number): void ...@@ -188,21 +195,27 @@ exit(code: number): void
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| code | number | 是 | 进程的退出码。 | | type | string | 是 | 存储事件的type。 |
| listener | [EventListener](#eventlistener) | 是 | 回调的事件。 |
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); process.on("data", (e)=>{
pro.exit(0); console.log("data callback");
})
``` ```
### kill<sup>9+</sup> ## process.off
kill(signal: number, pid: number): boolean off(type: string): boolean
发送signal到指定的进程,结束指定进程。 删除用户存储的事件。
**系统接口:** 此接口为系统接口。
此接口仅用于对应用的测试。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
...@@ -210,49 +223,54 @@ kill(signal: number, pid: number): boolean ...@@ -210,49 +223,54 @@ kill(signal: number, pid: number): boolean
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| pid | number | 是 | 进程的id。 | | type | string | 是 | 删除事件的type。 |
| signal | number | 是 | 发送的信号。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 信号是否发送成功。 | | boolean | 事件删除成功则返回true,没有成功则为false。|
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager(); process.on("data", (e)=>{
let pres = process.pid; console.log("data callback");
let result = pro.kill(28, pres); })
let result = process.off("data");
``` ```
## ChildProcess ## process.cwd
cwd(): string
主进程可以获取子进程的标准输入输出,以及发送信号和关闭子进程 获取进程的工作目录
**系统接口:** 此接口为系统接口。 **系统接口:** 此接口为系统接口。
### 属性 此接口仅用于对应用的测试。
**系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.Utils.Lang
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 **返回值:**
| 名称 | 类型 | 可读 | 可写 | 说明 | | 类型 | 说明 |
| -------- | -------- | -------- | -------- | -------- | | -------- | -------- |
| pid | number | 是 | 否 | 子进程的pid。<br>**系统接口:** 此接口为系统接口。<br>此接口仅用于对应用的测试。 | | string| 返回当前进程的工作目录。 |
| ppid | number | 是 | 否 | 子进程的父进程的pid。<br>**系统接口:** 此接口为系统接口。<br>此接口仅用于对应用的测试。 |
| exitCode | number | 是 | 否 | 子进程的退出码。<br>**系统接口:** 此接口为系统接口。 <br>此接口仅用于对应用的测试。|
| killed | boolean | 是 | 否 | 父进程给子进程发信号是否成功。<br>**系统接口:** 此接口为系统接口。<br>此接口仅用于对应用的测试。 |
**示例:**
### wait ```js
let path = process.cwd();
```
wait(): Promise&lt;number&gt;
等待子进程运行结束,返回promise对象,其值为子进程的退出码。 ## process.chdir
chdir(dir: string): void
更改进程的当前工作目录。
**系统接口:** 此接口为系统接口。 **系统接口:** 此接口为系统接口。
...@@ -260,32 +278,24 @@ wait(): Promise&lt;number&gt; ...@@ -260,32 +278,24 @@ wait(): Promise&lt;number&gt;
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**返回值:** **参数:**
| 类型 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | | -------- | -------- | -------- | -------- |
| Promise&lt;number&gt; | 异步返回子进程的退出码。 | | dir | string | 是 | 路径。 |
**示例:** **示例:**
```js ```js
let child = process.runCmd('ls'); process.chdir('/system');
let result = child.wait();
result.then(val=>{
console.log("result = " + val);
})
``` ```
### getOutput ## process.uptime
getOutput(): Promise&lt;Uint8Array&gt;
获取子进程的标准输出。
**系统接口:** 此接口为系统接口。 uptime(): number
此接口仅用于对应用的测试 获取当前系统已运行的秒数
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
...@@ -293,77 +303,84 @@ getOutput(): Promise&lt;Uint8Array&gt; ...@@ -293,77 +303,84 @@ getOutput(): Promise&lt;Uint8Array&gt;
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;Uint8Array&gt; | 异步返回标准输出的字节流。 | | number | 当前系统已运行的秒数。 |
**示例:** **示例:**
```js ```js
let child = process.runCmd('ls'); let time = process.uptime();
let result = child.wait();
child.getOutput().then(val=>{
console.log("child.getOutput = " + val);
})
``` ```
### getErrorOutput ## process.kill<sup>(deprecated)</sup>
getErrorOutput(): Promise&lt;Uint8Array&gt;
获取子进程的标准错误输出。 kill(signal: number, pid: number): boolean
**系统接口:** 此接口为系统接口 发送signal到指定的进程,结束指定进程
此接口仅用于对应用的测试。 > **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[kill<sup>9+</sup>](#kill9)替代。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| pid | number | 是 | 进程的id。 |
| signal | number | 是 | 发送的信号。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| Promise&lt;Uint8Array&gt; | 异步返回标准错误输出的字节流。 | | boolean | 信号是否发送成功。 |
**示例:** **示例:**
```js ```js
let child = process.runCmd('madir test.text'); let pres = process.pid
let result = child.wait(); let result = process.kill(28, pres)
child.getErrorOutput().then(val=>{
console.log("child.getErrorOutput= " + val);
})
``` ```
### close ## process.exit<sup>(deprecated)</sup>
close(): void exit(code: number): void
关闭正在运行的子进程 终止程序
**系统接口:** 此接口为系统接口 请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况
此接口仅用于对应用的测试。 > **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[exit<sup>9+</sup>](#exit9)替代。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| code | number | 是 | 进程的退出码。 |
**示例:** **示例:**
```js ```js
let child = process.runCmd('sleep 5; ls'); process.exit(0);
child.close();
``` ```
### kill ## process.getUidForName<sup>(deprecated)</sup>
kill(signal: number | string): void
用于发送信号给子进程,结束指定进程。 getUidForName(v: string): number
**系统接口:** 此接口为系统接口 通过进程名获取进程uid
此接口仅用于对应用的测试。 > **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getUidForName<sup>9+</sup>](#getuidforname9)替代。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
...@@ -371,43 +388,63 @@ kill(signal: number | string): void ...@@ -371,43 +388,63 @@ kill(signal: number | string): void
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| signal | number&nbsp;\|&nbsp;string | 是 | 数字或字符串。 | | v | string | 是 | 进程名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回进程uid。|
**示例:** **示例:**
```js ```js
let child = process.runCmd('sleep 5; ls'); let pres = process.getUidForName("tool")
child.kill(9);
``` ```
## process.isIsolatedProcess<sup>8+</sup> ## process.getThreadPriority<sup>(deprecated)</sup>
isIsolatedProcess(): boolean getThreadPriority(v: number): number
判断进程是否被隔离。 根据指定的tid获取线程优先级。
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getThreadPriority<sup>9+</sup>](#getthreadpriority9)替代。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| v | number | 是 | 指定的线程tid。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 返回判断结果,如果返回true表示进程被隔离。 | | number | 返回线程的优先级。 |
**示例:** **示例:**
```js ```js
let result = process.isIsolatedProcess(); let tid = process.tid;
let pres = process.getThreadPriority(tid);
``` ```
## process.isAppUid<sup>8+</sup> ## process.isAppUid<sup>(deprecated)</sup>
isAppUid(v: number): boolean isAppUid(v: number): boolean
判断uid是否属于应用程序。 判断uid是否属于应用程序。
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[isAppUid<sup>9+</sup>](#isappuid9)替代。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:** **参数:**
...@@ -420,7 +457,7 @@ isAppUid(v: number): boolean ...@@ -420,7 +457,7 @@ isAppUid(v: number): boolean
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 返回判断结果,如果返回true表示为应用程序的uid。| | boolean | 返回判断结果,如果为应用程序的uid返回true,否则返回false。|
**示例:** **示例:**
...@@ -429,28 +466,104 @@ let result = process.isAppUid(688); ...@@ -429,28 +466,104 @@ let result = process.isAppUid(688);
``` ```
## process.is64Bit<sup>8+</sup> ## process.getSystemConfig<sup>(deprecated)</sup>
is64Bit(): boolean getSystemConfig(name: number): number
判断运行环境是否64位。 获取系统配置信息。
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getSystemConfig<sup>9+</sup>](#getsystemconfig9)替代。
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | number | 是 | 指定系统配置参数名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回系统配置信息。 |
**示例:**
```js
let _SC_ARG_MAX = 0
let pres = process.getSystemConfig(_SC_ARG_MAX)
```
## process.getEnvironmentVar<sup>(deprecated)</sup>
getEnvironmentVar(name: string): string
获取环境变量对应的值。
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getEnvironmentVar<sup>9+</sup>](#getenvironmentvar9)替代。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | string | 是 | 环境变量名。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| string | 返回环境变量名对应的value。 |
**示例:**
```js
let pres = process.getEnvironmentVar("PATH")
```
## ProcessManager<sup>9+</sup>
提供用于新增进程的抛异常接口。
通过自身的构造来获取ProcessManager对象。
### isAppUid<sup>9+</sup>
isAppUid(v: number): boolean
判断uid是否属于当前应用程序。
**系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| v | number | 是 | 应用程序的uid。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 返回判断结果,如果返回true表示为64位环境。 | | boolean | 返回判断结果,如果为应用程序的uid返回true,否则返回false。|
**示例:** **示例:**
```js ```js
let result = process.is64Bit(); let pro = new process.ProcessManager();
let result = pro.isAppUid(688);
``` ```
## process.getUidForName<sup>8+</sup> ### getUidForName<sup>9+</sup>
getUidForName(v: string): number getUidForName(v: string): number
...@@ -473,11 +586,12 @@ getUidForName(v: string): number ...@@ -473,11 +586,12 @@ getUidForName(v: string): number
**示例:** **示例:**
```js ```js
let pres = process.getUidForName("tool") let pro = new process.ProcessManager();
let pres = pro .getUidForName("tool");
``` ```
## process.getThreadPriority<sup>8+</sup> ### getThreadPriority<sup>9+</sup>
getThreadPriority(v: number): number getThreadPriority(v: number): number
...@@ -500,57 +614,46 @@ getThreadPriority(v: number): number ...@@ -500,57 +614,46 @@ getThreadPriority(v: number): number
**示例:** **示例:**
```js ```js
let pro = new process.ProcessManager();
let tid = process.tid; let tid = process.tid;
let pres = process.getThreadPriority(tid); let pres = pro.getThreadPriority(tid);
``` ```
## process.getStartRealtime<sup>8+</sup> ### getSystemConfig<sup>9+</sup>
getStartRealtime(): number getSystemConfig(name: number): number
获取从系统启动到进程启动所经过的实时时间(以毫秒为单位) 获取系统配置信息
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**返回值:** **参数:**
| 类型 | 说明 |
| -------- | -------- |
| number | 返回经过的实时时间。|
**示例:**
```js
let realtime = process.getStartRealtime();
```
## process.getPastCpuTime<sup>8+</sup>
getPastCpuTime(): number
获取进程启动到当前时间的CPU时间(以毫秒为单位)。
**系统能力:** SystemCapability.Utils.Lang | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| name | number | 是 | 指定系统配置参数名。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回经过的CPU时间。 | | number | 返回系统配置信息。 |
**示例:** **示例:**
```js ```js
let result = process.getPastCpuTime() ; let pro = new process.ProcessManager();
let _SC_ARG_MAX = 0;
let pres = pro.getSystemConfig(_SC_ARG_MAX);
``` ```
## process.getSystemConfig<sup>8+</sup> ### getEnvironmentVar<sup>9+</sup>
getSystemConfig(name: number): number getEnvironmentVar(name: string): string
获取系统配置信息 获取环境变量对应的值
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
...@@ -558,27 +661,29 @@ getSystemConfig(name: number): number ...@@ -558,27 +661,29 @@ getSystemConfig(name: number): number
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| name | number | 是 | 指定系统配置参数名。 | | name | string | 是 | 环境变量名。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| number | 返回系统配置信息。 | | string | 返回环境变量名对应的值。 |
**示例:** **示例:**
```js ```js
let _SC_ARG_MAX = 0 let pro = new process.ProcessManager();
let pres = process.getSystemConfig(_SC_ARG_MAX) let pres = pro.getEnvironmentVar("PATH");
``` ```
## process.getEnvironmentVar<sup>8+</sup> ### exit<sup>9+</sup>
getEnvironmentVar(name: string): string exit(code: number): void
终止程序。
用该方法获取环境变量对应的值 请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
...@@ -586,30 +691,21 @@ getEnvironmentVar(name: string): string ...@@ -586,30 +691,21 @@ getEnvironmentVar(name: string): string
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| name | string | 是 | 环境变量名。 | | code | number | 是 | 进程的退出码。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
| string | 返回环境变量名对应的value。 |
**示例:** **示例:**
```js ```js
let pres = process.getEnvironmentVar("PATH") let pro = new process.ProcessManager();
pro.exit(0);
``` ```
## process.runCmd ### kill<sup>9+</sup>
runCmd(command: string, options?: { timeout?: number, killSignal?: number | string, maxBuffer?: number }): ChildProcess
通过runcmd可以fork一个新的进程来运行一段shell,并返回ChildProcess对象。
**系统接口:** 此接口为系统接口。 kill(signal: number, pid: number): boolean
此接口仅用于对应用的测试 发送signal到指定的进程,结束指定进程
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
...@@ -617,54 +713,49 @@ runCmd(command: string, options?: { timeout?: number, killSignal?: number | stri ...@@ -617,54 +713,49 @@ runCmd(command: string, options?: { timeout?: number, killSignal?: number | stri
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| command | string | 是 | shell命令。 | | pid | number | 是 | 进程的id。 |
| options | Object | 否 | 相关选项参数。 | | signal | number | 是 | 发送的信号。 |
**表1** options
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| timeout | number | 否 | 子进程运行的ms数,当子进程运行时间超出此时间,则父进程发送killSignal信号给子进程。timeout默认为0。 |
| killSignal | number&nbsp;\|&nbsp;string | 否 | 子进程运行时间超出timeout时,父进程发送killSignal&nbsp;信号给子进程。killSignal&nbsp;默认为'SIGTERM'。 |
| maxBuffer | number | 否 | 子进程标准输入输出的最大缓冲区大小,当超出此大小时则终止子进程。maxBuffer默认1024\*1024。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| [ChildProcess](#childprocess) | 子进程对象。 | | boolean | 信号是否发送成功。 |
**示例:** **示例:**
```js ```js
let child = process.runCmd('ls', { maxBuffer : 2 }); let pro = new process.ProcessManager();
let result = child.wait(); let pres = process.pid;
child.getOutput.then(val=>{ let result = pro.kill(28, pres);
console.log("child.getOutput = " + val);
})
``` ```
## process.abort ## ChildProcess
abort(): void ChildProcess对象为创建的新的子进程,主进程可以获取子进程的标准输入输出,以及发送信号和关闭子进程,可以通过[process.runCmd](#processruncmd)获取ChildProcess对象。
该方法会导致进程立即退出并生成一个核心文件,谨慎使用 **系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.Utils.Lang ### 属性
**示例:** **系统接口:** 此接口为系统接口。
```js **系统能力:** SystemCapability.Utils.Lang
process.abort();
``` | 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| pid | number | 是 | 否 | 子进程的pid。<br>**系统接口:** 此接口为系统接口。<br>此接口仅用于对应用的测试。 |
| ppid | number | 是 | 否 | 子进程的父进程的pid。<br>**系统接口:** 此接口为系统接口。<br>此接口仅用于对应用的测试。 |
| exitCode | number | 是 | 否 | 子进程的退出码。<br>**系统接口:** 此接口为系统接口。 <br>此接口仅用于对应用的测试。|
| killed | boolean | 是 | 否 | 父进程给子进程发信号是否成功。<br>**系统接口:** 此接口为系统接口。<br>此接口仅用于对应用的测试。 |
## process.on ### wait
on(type: string, listener: EventListener): void wait(): Promise&lt;number&gt;
存储用户所触发的事件 等待子进程运行结束,返回promise对象,其值为子进程的退出码
**系统接口:** 此接口为系统接口。 **系统接口:** 此接口为系统接口。
...@@ -672,33 +763,28 @@ on(type: string, listener: EventListener): void ...@@ -672,33 +763,28 @@ on(type: string, listener: EventListener): void
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:** **返回值:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 存储事件的type。 |
| listener | EventListener | 是 | 回调的事件。 |
**表2** EventListener
| 名称 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| EventListener&nbsp;=&nbsp;(evt: &nbsp;Object)&nbsp;=&gt;&nbsp;void | 用户存储的事件。 | | Promise&lt;number&gt; | 异步返回子进程的退出码。 |
**示例:** **示例:**
```js ```js
process.on("data", (e)=>{ let child = process.runCmd('ls');
console.log("data callback"); let result = child.wait();
result.then(val=>{
console.log("result = " + val);
}) })
``` ```
## process.off ### getOutput
off(type: string): boolean getOutput(): Promise&lt;Uint8Array&gt;
删除用户存储的事件 获取子进程的标准输出
**系统接口:** 此接口为系统接口。 **系统接口:** 此接口为系统接口。
...@@ -706,56 +792,57 @@ off(type: string): boolean ...@@ -706,56 +792,57 @@ off(type: string): boolean
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| type | string | 是 | 删除事件的type。 |
**返回值:** **返回值:**
| 类型 | 说明 | | 类型 | 说明 |
| -------- | -------- | | -------- | -------- |
| boolean | 事件是否删除成功。 | | Promise&lt;Uint8Array&gt; | 异步返回标准输出的字节流。 |
**示例:** **示例:**
```js ```js
process.on("data", (e)=>{ let child = process.runCmd('ls');
console.log("data callback"); 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&lt;Uint8Array&gt;
终止程序。 获取子进程的标准错误输出。
**系统接口:** 此接口为系统接口。
请谨慎使用此接口 此接口仅用于对应用的测试
**系统能力:** SystemCapability.Utils.Lang **系统能力:** SystemCapability.Utils.Lang
**参数:** **返回值:**
| 参数名 | 类型 | 必填 | 说明 | | 类型 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- |
| code | number | 是 | 进程的退出码。 | | Promise&lt;Uint8Array&gt; | 异步返回标准错误输出的字节流。 |
**示例:** **示例:**
```js ```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 ...@@ -766,15 +853,16 @@ cwd(): string
**示例:** **示例:**
```js ```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 ...@@ -786,60 +874,11 @@ chdir(dir: string): void
| 参数名 | 类型 | 必填 | 说明 | | 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- | | -------- | -------- | -------- | -------- |
| dir | string | 是 | 路径。 | | signal | number&nbsp;\|&nbsp;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 | 信号是否发送成功。 |
**示例:** **示例:**
```js ```js
let pres = process.pid let child = process.runCmd('sleep 5; ls');
let result = process.kill(28, pres) child.kill(9);
``` ```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册