From 703ae850cba67c05024e914e8d8cea6fe6dde422 Mon Sep 17 00:00:00 2001 From: lee-wen-qiang <liwenqiang33@huawei.com> Date: Sat, 7 Jan 2023 19:31:33 +0800 Subject: [PATCH] fixed d9c70c5 from https://gitee.com/lee-wen-qiang/docs/pulls/13342 modify docs of process https://gitee.com/openharmony/docs/issues/I67Z1E Signed-off-by: lee-wen-qiang <liwenqiang33@huawei.com> --- .../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'; | 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> -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.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 = 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 -**返回值:** - -| 类型 | 说明 | -| -------- | -------- | -| 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> -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.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.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