0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙語言基礎(chǔ)類庫:ohos.process 獲取進(jìn)程相關(guān)的信息

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-07-08 17:13 ? 次閱讀

獲取進(jìn)程相關(guān)的信息

icon-note.gif說明: 本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

導(dǎo)入模塊

import process from '@ohos.process';

屬性

系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Utils.Lang。

名稱類型可讀可寫說明
egidnumber進(jìn)程的有效組標(biāo)識。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
euidnumber進(jìn)程的有效用戶身份。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
gidnumber進(jìn)程的組標(biāo)識。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
uidnumber進(jìn)程的用戶標(biāo)識。
groupsnumber[]帶有補充組id的數(shù)組。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
pidnumber當(dāng)前進(jìn)程的pid。
ppidnumber當(dāng)前進(jìn)程的父進(jìn)程的pid。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
tid8+number當(dāng)前進(jìn)程的tid。

ChildProcess

主進(jìn)程可以獲取子進(jìn)程的標(biāo)準(zhǔn)輸入輸出,以及發(fā)送信號和關(guān)閉子進(jìn)程。

屬性

系統(tǒng)能力: 以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.Utils.Lang。

名稱類型可讀可寫說明
pidnumber子進(jìn)程的pid。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
ppidnumber子進(jìn)程的父進(jìn)程的pid。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
exitCodenumber子進(jìn)程的退出碼。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
killedboolean父進(jìn)程給子進(jìn)程發(fā)信號是否成功。該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

wait

wait(): Promise

等待子進(jìn)程運行結(jié)束,返回promise對象,其值為子進(jìn)程的退出碼。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
Promise異步返回子進(jìn)程的退出碼。

示例:

var child = process.runCmd('ls');
var result = child.wait();
result.then(val= >{
    console.log("result = " + val);
})

getOutput

getOutput(): Promise

獲取子進(jìn)程的標(biāo)準(zhǔn)輸出。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
Promise異步返回標(biāo)準(zhǔn)輸出的字節(jié)流。

示例:

var child = process.runCmd('ls');
var result = child.wait();
child.getOutput.then(val= >{
    console.log("child.getOutput = " + val);
})

getErrorOutput

getErrorOutput(): Promise

獲取子進(jìn)程的標(biāo)準(zhǔn)錯誤輸出。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
Promise異步返回標(biāo)準(zhǔn)錯誤輸出的字節(jié)流。

示例:

var child = process.runCmd('madir test.text');
var result = child.wait();
child.getErrorOutput.then(val= >{
    console.log("child.getErrorOutput= " + val);
})

close

close(): void

關(guān)閉正在運行的子進(jìn)程。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

示例:

var child = process.runCmd('sleep 5; ls');
child.close();

kill

kill(signal: number | string): void

用于發(fā)送信號給子進(jìn)程,結(jié)束指定進(jìn)程。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù)

參數(shù)名類型必填說明
signalnumberstring

示例:

var child = process.runCmd('sleep 5; ls');
child.kill(9);

process.isIsolatedProcess8+

isIsolatedProcess(): boolean

判斷進(jìn)程是否被隔離。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
boolean返回判斷結(jié)果,如果返回true表示進(jìn)程被隔離。

示例:

var result = process.isIsolatedProcess();

process.isAppUid8+

isAppUid(v: number): boolean

判斷uid是否屬于應(yīng)用程序。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
vnumber應(yīng)用程序的uid。

返回值:

類型說明
boolean返回判斷結(jié)果,如果返回true表示為應(yīng)用程序的uid。

示例:

var result = process.isAppUid(688);

process.is64Bit8+

is64Bit(): boolean

判斷運行環(huán)境是否64位。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
boolean返回判斷結(jié)果,如果返回true表示為64位環(huán)境。

示例:

var ressult = process.is64Bit();

process.getUidForName8+

getUidForName(v: string): number

通過進(jìn)程名獲取進(jìn)程uid。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
vstring進(jìn)程名。

返回值:

類型說明
number返回進(jìn)程uid。

示例:

var pres = process.getUidForName("tool")

process.getThreadPriority8+

getThreadPriority(v: number): number

根據(jù)指定的tid獲取線程優(yōu)先級。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
vnumber指定的線程tid。

返回值:

類型說明
number返回線程的優(yōu)先級。

示例:

var tid = process.getTid();
var pres = process.getThreadPriority(tid);

process.getStartRealtime8+

getStartRealtime(): number

獲取從系統(tǒng)啟動到進(jìn)程啟動所經(jīng)過的實時時間(以毫秒為單位)。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
number返回經(jīng)過的實時時間。

示例:

var realtime = process.getStartRealtime();

process.getPastCpuTime8+

getPastCpuTime(): number

獲取進(jìn)程啟動到當(dāng)前時間的CPU時間(以毫秒為單位)。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
number返回經(jīng)過的CPU時間。

示例:

var result = process.getPastCpuTime() ;

process.getSystemConfig8+

getSystemConfig(name: number): number

獲取系統(tǒng)配置信息。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
namenumber指定系統(tǒng)配置參數(shù)名。

返回值:

類型說明
number返回系統(tǒng)配置信息。

示例:

var _SC_ARG_MAX = 0
var pres = process.getSystemConfig(_SC_ARG_MAX)

process.getEnvironmentVar8+

getEnvironmentVar(name: string): string

用該方法獲取環(huán)境變量對應(yīng)的值。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
namestring環(huán)境變量名。

返回值:

類型說明
string返回環(huán)境變量名對應(yīng)的value。

示例:

var pres = process.getEnvironmentVar("PATH")

process.runCmd

runCmd(command: string, options?: { timeout : number, killSignal : number | string, maxBuffer : number }): ChildProcess

通過runcmd可以fork一個新的進(jìn)程來運行一段shell,并返回ChildProcess對象。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
commandstringshell命令。
optionsObject相關(guān)選項參數(shù)。

表1 options

名稱參數(shù)類型必填說明
timeoutnumber子進(jìn)程運行的ms數(shù),當(dāng)子進(jìn)程運行時間超出此時間,則父進(jìn)程發(fā)送killSignal信號給子進(jìn)程。timeout默認(rèn)為0。
killSignalnumberstring
maxBuffernumber子進(jìn)程標(biāo)準(zhǔn)輸入輸出的最大緩沖區(qū)大小,當(dāng)超出此大小時則終止子進(jìn)程。maxBuffer默認(rèn)1024*1024。

返回值:

類型說明
[ChildProcess]子進(jìn)程對象。

示例:

var child = process.runCmd('ls', { maxBuffer : 2 });
var result = child.wait();
child.getOutput.then(val= >{
    console.log("child.getOutput = " + val);
})

process.abort

abort(): void

該方法會導(dǎo)致進(jìn)程立即退出并生成一個核心文件,謹(jǐn)慎使用。

系統(tǒng)能力: SystemCapability.Utils.Lang

示例:

process.abort();

process.on

on(type: string, listener: EventListener): void

存儲用戶所觸發(fā)的事件。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
typestring存儲事件的type。
listenerEventListener回調(diào)的事件。

表2 EventListener

名稱說明
EventListener = (evt: Object) => void用戶存儲的事件。

示例:

process.on("data", (e)= >{
    console.log("data callback");
})

process.off

off(type: string): boolean

刪除用戶存儲的事件。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
typestring刪除事件的type。

返回值:

類型說明
boolean事件是否刪除成功。

示例:

process.on("data", (e)= >{
    console.log("data callback");
})
var result = process.off("data");

process.exit

exit(code: number): void

終止程序。

請謹(jǐn)慎使用此接口。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
codenumber進(jìn)程的退出碼。

示例:

process.exit(0);

process.cwd

cwd(): string

用該方法獲取進(jìn)程的工作目錄。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

示例:

var path = process.cwd();

process.chdir

chdir(dir: string): void

更改進(jìn)程的當(dāng)前工作目錄。

該接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
dirstring路徑。

示例:

process.chdir('/system');

process.uptime

uptime(): number

獲取當(dāng)前系統(tǒng)已運行的秒數(shù)。

系統(tǒng)能力: SystemCapability.Utils.Lang

返回值:

類型說明
number當(dāng)前系統(tǒng)已運行的秒數(shù)。

示例:

var time = process.uptime();

process.kill

kill(signal: number, pid: number): boolean

發(fā)送signal到指定的進(jìn)程,結(jié)束指定進(jìn)程。

系統(tǒng)能力: SystemCapability.Utils.Lang

參數(shù):

參數(shù)名類型必填說明
pidnumber進(jìn)程的id。
signalnumber發(fā)送的信號。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

QQ截圖20240705211104.png

返回值:

類型說明
boolean信號是否發(fā)送成功。

示例:

var pres = process.pid
var result = that.kill(28, pres)

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鴻蒙
    +關(guān)注

    關(guān)注

    57

    文章

    2386

    瀏覽量

    42962
收藏 人收藏

    評論

    相關(guān)推薦

    OpenHarmony語言基礎(chǔ)【@ohos.process (獲取進(jìn)程相關(guān)信息)】

    本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨標(biāo)記接口的起始版本。
    的頭像 發(fā)表于 04-24 15:52 ?757次閱讀
    OpenHarmony<b class='flag-5'>語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>【@<b class='flag-5'>ohos.process</b> (<b class='flag-5'>獲取</b><b class='flag-5'>進(jìn)程</b><b class='flag-5'>相關(guān)</b>的<b class='flag-5'>信息</b>)】

    鴻蒙OS跨進(jìn)程IPC與RPC通信

    Proxy,便可通過Proxy實現(xiàn)與Stub的跨進(jìn)程通信了。 相關(guān)步驟: ● 實現(xiàn)接口:需繼承IRemoteBroker,需定義消息碼,可聲明不在此類實現(xiàn)的方法。 ● 實現(xiàn)服務(wù)提供端(Stub):需繼承
    發(fā)表于 02-17 14:20

    ArkTS語言基礎(chǔ)-解析

    ArkTS語言基礎(chǔ)是HarmonyOS系統(tǒng)上為應(yīng)用開發(fā)者提供的常用基礎(chǔ)能力,主要包含能力如下圖所示。 圖1 ArkTS語言基礎(chǔ)
    發(fā)表于 02-20 16:44

    鴻蒙原生應(yīng)用開發(fā)-ArkTS語言基礎(chǔ)概述

    ArkTS語言基礎(chǔ)是HarmonyOS系統(tǒng)上為應(yīng)用開發(fā)者提供的常用基礎(chǔ)能力,主要包含能力如下圖所示。 1.提供異步并發(fā)和多線程并發(fā)的能力。 支持Promise和async/await等標(biāo)準(zhǔn)
    發(fā)表于 03-05 15:42

    鴻蒙Flutter實戰(zhàn):14-現(xiàn)有Flutter 項目支持鴻蒙 II

    文件 .fvm/, vscode/settings.json 文件 ohos_app/pubsec.yaml 中的 dependency_overrides, 僅添加需要鴻蒙化的三方
    發(fā)表于 12-26 14:59

    HarmonyOS API Version 7版本特性說明

    2所示,包括Parcel、URL、編解碼的能力。圖2 基礎(chǔ)新增接口@ohos.process提供進(jìn)程信息查詢能力以及對
    發(fā)表于 11-30 15:19

    HarmonyOS API Version 7版本特性說明

    2所示,包括Parcel、URL、編解碼的能力。圖2 基礎(chǔ)新增接口@ohos.process提供進(jìn)程信息查詢能力以及對
    發(fā)表于 12-01 10:35

    OpenHarmony C++公共基礎(chǔ)應(yīng)用案例:Thread

    ; } 注意: OHOS::Thread會不斷地調(diào)用Run()函數(shù),所以該函數(shù)只需要寫成單循環(huán)即可。 3.4.3、主程序 主程序每1秒打印子進(jìn)程相關(guān)
    發(fā)表于 11-22 11:50

    HarmonyOS語言基礎(chǔ)開發(fā)指南上線啦!

    語言基礎(chǔ)提供哪些功能?多線程并發(fā)如何實現(xiàn)?TaskPool(任務(wù)池)和Worker在實現(xiàn)和使用場景上有何不同? 針對開發(fā)者關(guān)注的并發(fā)等語言基礎(chǔ)
    的頭像 發(fā)表于 10-18 16:20 ?610次閱讀
    HarmonyOS<b class='flag-5'>語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>開發(fā)指南上線啦!

    SDCardUtils封裝應(yīng)用:設(shè)備信息獲取實現(xiàn)方法

    硬件名、SDK版本、android版本 、語言支持、默認(rèn)語言 六、 獲取 SD 卡存儲信息 七、 獲取手機 RAM、ROM存儲
    的頭像 發(fā)表于 11-13 09:40 ?803次閱讀
    SDCardUtils封裝<b class='flag-5'>類</b>應(yīng)用:設(shè)備<b class='flag-5'>信息</b><b class='flag-5'>獲取</b>實現(xiàn)方法

    鴻蒙OpenHarmony大合集:【語言基礎(chǔ)

    本示例集合語言基礎(chǔ)的各個子模塊,展示了各個模塊的基礎(chǔ)功能
    的頭像 發(fā)表于 04-29 16:38 ?611次閱讀
    <b class='flag-5'>鴻蒙</b>OpenHarmony大合集:【<b class='flag-5'>語言</b>基礎(chǔ)<b class='flag-5'>類</b><b class='flag-5'>庫</b>】

    鴻蒙語言基礎(chǔ)ohos.uitest UiTest測試

    UiTest提供模擬UI操作的能力,供開發(fā)者在測試場景使用,主要支持如點擊、雙擊、長按、滑動等UI操作能力。
    的頭像 發(fā)表于 07-12 17:38 ?566次閱讀

    鴻蒙語言基礎(chǔ)ohos.bytrace 性能打點

    用來標(biāo)記一個預(yù)追蹤的數(shù)值變量,該變量的數(shù)值會不斷變化。
    的頭像 發(fā)表于 07-18 15:41 ?296次閱讀

    鴻蒙語言基礎(chǔ):system.configuration 應(yīng)用配置

    獲取應(yīng)用當(dāng)前的語言和地區(qū)。默認(rèn)與系統(tǒng)的語言和地區(qū)同步。
    的頭像 發(fā)表于 07-16 09:34 ?359次閱讀

    鴻蒙語言基礎(chǔ):system.network 網(wǎng)絡(luò)狀態(tài)

    獲取當(dāng)前設(shè)備的網(wǎng)絡(luò)類型。
    的頭像 發(fā)表于 07-18 09:37 ?301次閱讀