Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
5234e11a
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
5234e11a
编写于
1月 10, 2023
作者:
O
openharmony_ci
提交者:
Gitee
1月 10, 2023
浏览文件
操作
浏览文件
下载
差异文件
!13342 modify docs of process
Merge pull request !13342 from lwx1067109/master
上级
5e48acf3
d9c70c59
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
363 addition
and
324 deletion
+363
-324
zh-cn/application-dev/reference/apis/js-apis-process.md
zh-cn/application-dev/reference/apis/js-apis-process.md
+363
-324
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-process.md
浏览文件 @
5234e11a
...
...
@@ -14,7 +14,7 @@ import process from '@ohos.process';
## 属性
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Utils.Lang。
**系统能力:**
SystemCapability.Utils.Lang
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
...
...
@@ -28,129 +28,107 @@ import process from '@ohos.process';
| tid
<sup>
8+
</sup>
| number | 是 | 否 | 当前进程的tid。 |
##
ProcessManager<sup>9+</sup>
##
EventListener
提供用于新增进程的抛异常接口。
系统能力: SystemCapability.Utils.Lang
### isAppUid<sup>9+</sup>
| 名称 | 说明 |
| -------- | -------- |
| EventListener
=
(evt:
Object)
=
>
void | 用户存储的事件。 |
isAppUid(v: number): boolean
判断uid是否属于当前应用程序。
## process.isIsolatedProcess<sup>8+</sup>
**系统能力:**
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
();
```
##
# getUidForName<sup>9
+</sup>
##
process.is64Bit<sup>8
+</sup>
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
();
```
##
# getThreadPriority<sup>9
+</sup>
##
process.getStartRealtime<sup>8
+</sup>
get
ThreadPriority(v: number
): number
get
StartRealtime(
): 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.getPastCpuTime<sup>8+</sup>
### getSystemConfig<sup>9+</sup>
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
()
;
```
##
# 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
...
...
@@ -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
);
})
```
##
# 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
...
...
@@ -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
"
);
})
```
##
# kill<sup>9+</sup>
##
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。
<br>
**系统接口:**
此接口为系统接口。
<br>
此接口仅用于对应用的测试。 |
| ppid | number | 是 | 否 | 子进程的父进程的pid。
<br>
**系统接口:**
此接口为系统接口。
<br>
此接口仅用于对应用的测试。 |
| exitCode | number | 是 | 否 | 子进程的退出码。
<br>
**系统接口:**
此接口为系统接口。
<br>
此接口仅用于对应用的测试。|
| killed | boolean | 是 | 否 | 父进程给子进程发信号是否成功。
<br>
**系统接口:**
此接口为系统接口。
<br>
此接口仅用于对应用的测试。 |
| 类型 | 说明 |
| -------- | -------- |
| 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<sup>(deprecated)</sup>
获取子进程的标准错误输出。
kill(signal: number, pid: number): boolean
**系统接口:**
此接口为系统接口
。
发送signal到指定的进程,结束指定进程
。
此接口仅用于对应用的测试。
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[kill<sup>9+</sup>](#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<sup>(deprecated)</sup>
close(
): void
exit(code: number
): void
关闭正在运行的子进程
。
终止程序
。
**系统接口:**
此接口为系统接口
。
请谨慎使用此接口,此接口调用后应用会退出,如果入参非0会产生数据丢失或者异常情况
。
此接口仅用于对应用的测试。
> **说明:**
>
> 从API version 7开始支持,从API version 9开始废弃,建议使用[exit<sup>9+</sup>](#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<sup>(deprecated)</sup>
用于发送信号给子进程,结束指定进程。
getUidForName(v: string): number
**系统接口:**
此接口为系统接口
。
通过进程名获取进程uid
。
此接口仅用于对应用的测试。
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[getUidForName<sup>9+</sup>](#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.
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
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| v | number | 是 | 指定的线程tid。 |
**返回值:**
| 类型 | 说明 |
| -------- | -------- |
|
boolean | 返回判断结果,如果返回true表示进程被隔离
。 |
|
number | 返回线程的优先级
。 |
**示例:**
```
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
判断uid是否属于应用程序。
> **说明:**
>
> 从API version 8开始支持,从API version 9开始废弃,建议使用[isAppUid<sup>9+</sup>](#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.
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
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| 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
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
...
...
@@ -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.getThreadPriority<sup>8
+</sup>
##
# getThreadPriority<sup>9
+</sup>
getThreadPriority(v: number): number
...
...
@@ -500,57 +614,46 @@ getThreadPriority(v: number): number
**示例:**
```
js
let
pro
=
new
process
.
ProcessManager
();
let
tid
=
process
.
tid
;
let
pres
=
pro
cess
.
getThreadPriority
(
tid
);
let
pres
=
pro
.
getThreadPriority
(
tid
);
```
##
process.getStartRealtime<sup>8
+</sup>
##
# getSystemConfig<sup>9
+</sup>
getS
tartRealtime(
): number
getS
ystemConfig(name: number
): number
获取
从系统启动到进程启动所经过的实时时间(以毫秒为单位)
。
获取
系统配置信息
。
**系统能力:**
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
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>
get
SystemConfig(name: number): number
get
EnvironmentVar(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
=
pro
cess
.
getSystemConfig
(
_SC_ARG_MAX
)
let
pro
=
new
process
.
ProcessManager
();
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
...
...
@@ -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对象。
### kill<sup>9+</sup>
**系统接口:**
此接口为系统接口。
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。
<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
<
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.exi
t
##
# getErrorOutpu
t
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
c
wd(): string
c
lose(): 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
);
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录