獲取進程相關的信息
說明: 本模塊首批接口從API version 7開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 開發前請熟悉鴻蒙開發指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
導入模塊
import process from '@ohos.process';
屬性
系統能力: 以下各項對應的系統能力均為SystemCapability.Utils.Lang。
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
egid | number | 是 | 否 | 進程的有效組標識。該接口為系統接口,三方應用不支持調用。 |
euid | number | 是 | 否 | 進程的有效用戶身份。該接口為系統接口,三方應用不支持調用。 |
gid | number | 是 | 否 | 進程的組標識。該接口為系統接口,三方應用不支持調用。 |
uid | number | 是 | 否 | 進程的用戶標識。 |
groups | number[] | 是 | 否 | 帶有補充組id的數組。該接口為系統接口,三方應用不支持調用。 |
pid | number | 是 | 否 | 當前進程的pid。 |
ppid | number | 是 | 否 | 當前進程的父進程的pid。該接口為系統接口,三方應用不支持調用。 |
tid8+ | number | 是 | 否 | 當前進程的tid。 |
ChildProcess
主進程可以獲取子進程的標準輸入輸出,以及發送信號和關閉子進程。
屬性
系統能力: 以下各項對應的系統能力均為SystemCapability.Utils.Lang。
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
pid | number | 是 | 否 | 子進程的pid。該接口為系統接口,三方應用不支持調用。 |
ppid | number | 是 | 否 | 子進程的父進程的pid。該接口為系統接口,三方應用不支持調用。 |
exitCode | number | 是 | 否 | 子進程的退出碼。該接口為系統接口,三方應用不支持調用。 |
killed | boolean | 是 | 否 | 父進程給子進程發信號是否成功。該接口為系統接口,三方應用不支持調用。 |
wait
wait(): Promise
等待子進程運行結束,返回promise對象,其值為子進程的退出碼。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
Promise | 異步返回子進程的退出碼。 |
示例:
var child = process.runCmd('ls');
var result = child.wait();
result.then(val= >{
console.log("result = " + val);
})
getOutput
getOutput(): Promise
獲取子進程的標準輸出。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
Promise | 異步返回標準輸出的字節流。 |
示例:
var child = process.runCmd('ls');
var result = child.wait();
child.getOutput.then(val= >{
console.log("child.getOutput = " + val);
})
getErrorOutput
getErrorOutput(): Promise
獲取子進程的標準錯誤輸出。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
Promise | 異步返回標準錯誤輸出的字節流。 |
示例:
var child = process.runCmd('madir test.text');
var result = child.wait();
child.getErrorOutput.then(val= >{
console.log("child.getErrorOutput= " + val);
})
close
close(): void
關閉正在運行的子進程。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
示例:
var child = process.runCmd('sleep 5; ls');
child.close();
kill
kill(signal: number | string): void
用于發送信號給子進程,結束指定進程。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
signal | number | string | 是 |
示例:
var child = process.runCmd('sleep 5; ls');
child.kill(9);
process.isIsolatedProcess8+
isIsolatedProcess(): boolean
判斷進程是否被隔離。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
boolean | 返回判斷結果,如果返回true表示進程被隔離。 |
示例:
var result = process.isIsolatedProcess();
process.isAppUid8+
isAppUid(v: number): boolean
判斷uid是否屬于應用程序。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
v | number | 是 | 應用程序的uid。 |
返回值:
類型 | 說明 |
---|---|
boolean | 返回判斷結果,如果返回true表示為應用程序的uid。 |
示例:
var result = process.isAppUid(688);
process.is64Bit8+
is64Bit(): boolean
判斷運行環境是否64位。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
boolean | 返回判斷結果,如果返回true表示為64位環境。 |
示例:
var ressult = process.is64Bit();
process.getUidForName8+
getUidForName(v: string): number
通過進程名獲取進程uid。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
v | string | 是 | 進程名。 |
返回值:
類型 | 說明 |
---|---|
number | 返回進程uid。 |
示例:
var pres = process.getUidForName("tool")
process.getThreadPriority8+
getThreadPriority(v: number): number
根據指定的tid獲取線程優先級。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
v | number | 是 | 指定的線程tid。 |
返回值:
類型 | 說明 |
---|---|
number | 返回線程的優先級。 |
示例:
var tid = process.getTid();
var pres = process.getThreadPriority(tid);
process.getStartRealtime8+
getStartRealtime(): number
獲取從系統啟動到進程啟動所經過的實時時間(以毫秒為單位)。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
number | 返回經過的實時時間。 |
示例:
var realtime = process.getStartRealtime();
process.getPastCpuTime8+
getPastCpuTime(): number
獲取進程啟動到當前時間的CPU時間(以毫秒為單位)。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
number | 返回經過的CPU時間。 |
示例:
var result = process.getPastCpuTime() ;
process.getSystemConfig8+
getSystemConfig(name: number): number
獲取系統配置信息。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | number | 是 | 指定系統配置參數名。 |
返回值:
類型 | 說明 |
---|---|
number | 返回系統配置信息。 |
示例:
var _SC_ARG_MAX = 0
var pres = process.getSystemConfig(_SC_ARG_MAX)
process.getEnvironmentVar8+
getEnvironmentVar(name: string): string
用該方法獲取環境變量對應的值。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | string | 是 | 環境變量名。 |
返回值:
類型 | 說明 |
---|---|
string | 返回環境變量名對應的value。 |
示例:
var pres = process.getEnvironmentVar("PATH")
process.runCmd
runCmd(command: string, options?: { timeout : number, killSignal : number | string, maxBuffer : number }): ChildProcess
通過runcmd可以fork一個新的進程來運行一段shell,并返回ChildProcess對象。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
command | string | 是 | shell命令。 |
options | Object | 否 | 相關選項參數。 |
表1 options
名稱 | 參數類型 | 必填 | 說明 |
---|---|---|---|
timeout | number | 否 | 子進程運行的ms數,當子進程運行時間超出此時間,則父進程發送killSignal信號給子進程。timeout默認為0。 |
killSignal | number | string | 否 |
maxBuffer | number | 否 | 子進程標準輸入輸出的最大緩沖區大小,當超出此大小時則終止子進程。maxBuffer默認1024*1024。 |
返回值:
類型 | 說明 |
---|---|
[ChildProcess] | 子進程對象。 |
示例:
var child = process.runCmd('ls', { maxBuffer : 2 });
var result = child.wait();
child.getOutput.then(val= >{
console.log("child.getOutput = " + val);
})
process.abort
abort(): void
該方法會導致進程立即退出并生成一個核心文件,謹慎使用。
系統能力: SystemCapability.Utils.Lang
示例:
process.abort();
process.on
on(type: string, listener: EventListener): void
存儲用戶所觸發的事件。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 存儲事件的type。 |
listener | EventListener | 是 | 回調的事件。 |
表2 EventListener
名稱 | 說明 |
---|---|
EventListener = (evt: Object) => void | 用戶存儲的事件。 |
示例:
process.on("data", (e)= >{
console.log("data callback");
})
process.off
off(type: string): boolean
刪除用戶存儲的事件。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
type | string | 是 | 刪除事件的type。 |
返回值:
類型 | 說明 |
---|---|
boolean | 事件是否刪除成功。 |
示例:
process.on("data", (e)= >{
console.log("data callback");
})
var result = process.off("data");
process.exit
exit(code: number): void
終止程序。
請謹慎使用此接口。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
code | number | 是 | 進程的退出碼。 |
示例:
process.exit(0);
process.cwd
cwd(): string
用該方法獲取進程的工作目錄。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
示例:
var path = process.cwd();
process.chdir
chdir(dir: string): void
更改進程的當前工作目錄。
該接口為系統接口,三方應用不支持調用。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
dir | string | 是 | 路徑。 |
示例:
process.chdir('/system');
process.uptime
uptime(): number
獲取當前系統已運行的秒數。
系統能力: SystemCapability.Utils.Lang
返回值:
類型 | 說明 |
---|---|
number | 當前系統已運行的秒數。 |
示例:
var time = process.uptime();
process.kill
kill(signal: number, pid: number): boolean
發送signal到指定的進程,結束指定進程。
系統能力: SystemCapability.Utils.Lang
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
pid | number | 是 | 進程的id。 |
signal | number | 是 | 發送的信號。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
返回值:
類型 | 說明 |
---|---|
boolean | 信號是否發送成功。 |
示例:
var pres = process.pid
var result = that.kill(28, pres)
審核編輯 黃宇
-
鴻蒙
+關注
關注
57文章
2339瀏覽量
42805
發布評論請先 登錄
相關推薦
評論