鸿蒙语言基础类库:【@ohos.process (获取进程相关的信息)】
获取进程相关的信息
说明: 本模块首批接口从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)
相关文章:
鸿蒙语言基础类库:【@ohos.process (获取进程相关的信息)】
获取进程相关的信息 说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。…...
华为笔试题
文章目录 1、数的分解2、字符串判断子串 1、数的分解 给定一个正整数n,如果能够分解为m(m > 1)个连续正整数之和, 请输出所有分解中,m最小的分解。 如果给定整数无法分解为连续正整数,则输出字符串"N"。 输入描述&a…...
【MySQL基础篇】函数及约束
1、函数 函数是指一段可以直接被另一段程序程序调用的程序或代码。 函数 - 字符串函数 MySQL中内置了很多字符串函数,常用的几个如下: 函数功能CONCAT(S1,S2,...,Sn)字符串拼接,将S1,S2,...,Sn拼接成一个字符串LOWER(str)将字符串str全部…...
YOLOv9报错:AttributeError: ‘list‘ object has no attribute ‘view‘
报错信息如下: red_distri, pred_scores torch.cat([xi.view(feats[0].shape[0], self.no, -1) for xi in feats], 2).split( AttributeError: ‘list’ object has no attribute ‘view’ 解决方法: 去yolov9/utils/loss_tal.py把167行代码更改&#…...
Bert入门-使用BERT(transformers库)对推特灾难文本二分类
Kaggle入门竞赛-对推特灾难文本二分类 这个是二月份学习的,最近整理资料所以上传到博客备份一下 数据在这里:https://www.kaggle.com/competitions/nlp-getting-started/data github(jupyter notebook):https://gith…...
【DFS(深度优先搜索)详解】看这一篇就够啦
【DFS详解】看这一篇就够啦 🍃1. 算法思想🍃2. 三种枚举方式🍃2.1 指数型枚举🍃2.2 排列型枚举🍃2.3 组合型枚举 🍃3. 剪枝优化🍃4. 图的搜索🍃5. 来几道题试试手🍃5.1 选…...
java-spring boot光速入门教程(超详细!!)
目录 一、引言 1.1 初始化配置 1.2 整合第三方框架 1.3 后期维护 1.4 部署工程 1.5 敏捷式开发 二、SpringBoot介绍 spring boot 2.1 搭建一个spring boot工程 2.2 使用idea创建项目 2.3 在线创建姿势 2.4 项目的目录结构 2.5 项目的运行方式 2.6 yml文件格式 2…...
一、Prometheus和Grafana搭建
一、服务端Prometheus二进制安装 https://prometheus.io/下载过慢可使用迅雷下载 tar -zxvf prometheus-2.53.0.linux-amd64.tar.gz启动 ./prometheus --config.fileprometheus.yml将其配置为系统服务: vim /usr/lib/systemd/system/prometheus.service[Unit] D…...
从零开始的python学习生活
pycharm部分好用快捷键 变量名的定义 与之前学习过的语言有所不同的是,python中变量名的定义更加的简洁 such as 整形。浮点型和字符串的定义 money50 haha13.14 gaga"hello"字符串的定义依然是需要加上引号,也不需要写;了 字符…...
MSP学习
一、迁移资源调研 完成导入,类似完成选型分析 离线工具调研 账单 二、迁移计划 1、 ecs 确认开始构建迁移环境后,平台将锁定当前标记的迁移资源范围及源端、目标端资源配置信息,并以此为迁移环境构建及迁移实施的数据依据 目标账号…...
生产力工具|Endnote X9如何自动更新文件信息
一、以EndNote X9.2版本为例,打开EndNote文献管理软件。 二、在菜单栏找到“Edit→Preferences...”,点击打开,弹出一个“EndNote Preferences”窗口。 三、进行设置 在打开的窗口左侧选择“PDF Handing”,右边会出现自动导入文献…...
【python】字典、列表、集合综合练习
1、练习1(字典) 字典dic,dic {‘k1’:‘v1’, ‘k2’: ‘v2’, ‘k3’: [11,22,33]} (1). 请循环输出所有的key dic {"k1": "v1", "k2": "v2", "k3": [11, 22, 33]} for k in dic.keys():print(k)k1 k2 k3(2). 请循环输…...
超融合服务器挂载硬盘--linux系统
项目中需要增加服务器的硬盘容量,通过超融合挂载了硬盘后,还需要添加到指定的路径下,这里记录一下操作步骤。 一:通过管理界面挂载硬盘 这一步都是界面操作,登录超融合控制云台后,找到对应的服务器&#…...
Kafka如何防止消息重复发送
Kafka 提供了几种方式来防止消息重复发送和处理。这些方式通常取决于生产者和消费者的设置和实现方式: 生产者端幂等性(什么是幂等性): 幂等性生产者:从 Kafka 0.11 版本开始引入了生产者端的幂等性支持。生产者可以通…...
数据库设计原则介绍
数据库设计是一个重要的过程,它涉及到创建一个逻辑结构来存储和管理数据。良好的数据库设计可以确保数据的完整性、一致性、性能和安全性。以下是一些关键的数据库设计原则: 1. 数据规范化 (Normalization) 目的:减少数据冗余、提高数据一致…...
反馈神经网络与不同类型的神经网络:BP神经网络,深度感知机,CNN,LSTM
反馈神经网络与不同类型的神经网络:BP神经网络,深度感知机,CNN,LSTM 在神经网络的研究和应用中,我们经常听到BP神经网络、深度感知机(MLP)、卷积神经网络(CNN)、长短期记…...
轮播图案例
丐版轮播图 <!DOCTYPE html> <html lang"zh-cn"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title> 基础轮播图 banner 移入移出</t…...
Spring 泛型依赖注入
Spring 泛型依赖注入,是利用泛型的优点对代码时行精简,将可重复使用的代码全部放到一个类之中,方便以后的维护和修改,同时在不增加代码的情况下增加代码的复用性。 示例代码: 创建实体类 Product package test.spri…...
C++ Linux调试(无IDE)
跨平台IDE编译调试C很方便,如QTCreate 、VSCode、Eclipse等,但是如果只能使用Shell控制台呢,gdb调试的优势就很明显了,在没有IDE的情况下,这个方式最有效。因为上手不是很难,特此整理 参考链接 目录 1、G…...
FFmpeg——视频拼接总结
最近需要做一个关于视频拼接的内容,需要将两个视频合成一个视频,使用opencv的话需要将视频读上来然后再写到文件了,这个会很消耗时间也没有必要。两个视频的编码格式是一样的,并不需要转码操作所以想法是直接将视频流补到后面&…...
国内开发者如何高效集成Nano Banana Pro与Sora2?——API中转站选型与实战避坑指南
1. 为什么需要API中转站? 对于国内开发者来说,想要直接调用Nano Banana Pro和Sora2的官方API,面临着几个现实问题。首先是网络访问的稳定性,Google和OpenAI的API服务器都部署在海外,国内直连经常会出现高延迟、丢包甚至…...
别急着重烧系统!卡在Starting Kernel时,先检查uboot的mmc分区表(以imx6ull为例)
嵌入式系统启动卡在Starting Kernel?先别急着重烧系统! 当你满怀期待地按下开发板电源键,串口终端却无情地定格在"Starting kernel..."这一行时,那种挫败感每个嵌入式开发者都深有体会。大多数人的第一反应是怀疑内核镜…...
IntelliJ IDEA开发Qwen3-TTS-12Hz-1.7B-CustomVoice插件教程
IntelliJ IDEA开发Qwen3-TTS-12Hz-1.7B-CustomVoice插件教程 1. 引言 你是不是经常需要在开发过程中生成语音内容?比如给应用添加语音提示、制作有声说明文档,或者只是想给枯燥的编程生活加点声音乐趣?今天我要带你用IntelliJ IDEA开发一个…...
【RT-DETR涨点改进】TGRS 2026 | 全网独家创新、特征融合改进篇| 引入STSAM协同时空注意力融合模块,发论文热点创新,注意力能够互相引导强化边界和结构细节,增强目标检测高效涨点
一、本文介绍 🔥本文给大家介绍使用 STSAM协同时空注意力融合模块 改进RT-DETR网络模型,STSAM 是 空间域特征增强模块,通过全局跨时相注意力和局部坐标注意力的并行处理,能有效聚焦真实变化目标,强化边界和结构细节,同时兼顾训练稳定性,为后续浅层特征融合提供高质量特…...
OpenClaw技能组合实战:Phi-3-vision-128k实现完整会议纪要自动化
OpenClaw技能组合实战:Phi-3-vision-128k实现完整会议纪要自动化 1. 为什么需要会议纪要自动化 作为经常参加跨时区会议的开发者,我长期被会议纪要整理工作困扰。传统流程需要手动录音转文字、整理白板照片、提取行动项,最后还要同步到日历…...
2025最权威的降AI率网站实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有的技术方案,其旨在减低文本人工智能生成特征,这就是降AIGC工具。它…...
基于GOOSE - Transformer - LSTM的数据回归预测探索
基于GOOSE-Transformer-LSTM的数据回归预测 模型结合Transformer的全局注意力机制和LSTM的短期记忆及序列处理能力 首先,采用Transformer自注意力机制捕捉数据的全局依赖性,并输出一个经过全局上下文编码的表示;然后,采用2024年最…...
C++的std--ranges容错系统
C的std::ranges容错系统:现代编程的稳健之道 在C20标准中,std::ranges库的引入彻底改变了算法与容器的交互方式,其容错机制为开发者提供了更安全、更灵活的编程体验。传统迭代器容易因越界或无效操作导致未定义行为,而std::range…...
DeepSeek-Coder-V2-Lite-Instruct用户调研:开发者眼中的AI编程助手痛点与需求
DeepSeek-Coder-V2-Lite-Instruct用户调研:开发者眼中的AI编程助手痛点与需求 【免费下载链接】DeepSeek-Coder-V2-Lite-Instruct 开源代码智能利器——DeepSeek-Coder-V2,性能比肩GPT4-Turbo,全面支持338种编程语言,128K超长上下…...
从芯片包到破解:Keil MDK5完整安装与配置实战(附最新支持包离线导入方法)
从芯片包到破解:Keil MDK5完整安装与配置实战(附最新支持包离线导入方法) 在嵌入式开发领域,Keil MDK5作为ARM架构微控制器的主流开发环境,其安装配置的完整性与稳定性直接影响后续开发效率。本文将系统性地拆解从软件…...

说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档: