harmony 鸿蒙获取Native子进程退出信息
获取Native子进程退出信息
场景介绍
从API version 20开始,支持父进程通过注册回调函数监听子进程,获取子进程异常退出信息,以便父进程做后续优化处理。这里支持监听的子进程必须为OH_Ability_StartNativeChildProcess或startNativeChildProcess接口创建的子进程。
接口说明
名称 | 描述 |
---|---|
Ability_NativeChildProcess_ErrCode OH_Ability_RegisterNativeChildProcessExitCallback (OH_Ability_OnNativeChildProcessExit onProcessExit) | 注册子进程退出回调函数。 |
Ability_NativeChildProcess_ErrCode OH_Ability_UnregisterNativeChildProcessExitCallback (OH_Ability_OnNativeChildProcessExit onProcessExit) | 解注册子进程退出回调函数。 |
开发步骤
动态库文件
libchild_process.so
头文件
#include <AbilityKit/native_child_process.h>
主进程-注册和解注册Native子进程异常退出回调。
调用OH_Ability_RegisterNativeChildProcessExitCallback注册Native子进程,如果返回值为NCP_NO_ERROR表示注册成功。 调用OH_Ability_UnregisterNativeChildProcessExitCallback解注册Native子进程,如果返回值为NCP_NO_ERROR表示解注册成功。
#include <AbilityKit/native_child_process.h> void OnNativeChildProcessExit(int32_t pid, int32_t signal) { OH_LOG_INFO("pid: %{public}d, signal: %{public}d", pid, signal); } void RegisterNativeChildProcessExitCallback() { Ability_NativeChildProcess_ErrCode ret = OH_Ability_RegisterNativeChildProcessExitCallback(OnNativeChildProcessExit); if (ret != NCP_NO_ERROR) { OH_LOG_ERROR("register failed."); } } void UnregisterNativeChildProcessExitCallback() { Ability_NativeChildProcess_ErrCode ret = OH_Ability_UnregisterNativeChildProcessExitCallback(OnNativeChildProcessExit); if (ret != NCP_NO_ERROR) { OH_LOG_ERROR("unregister failed."); } }
主进程-添加编译依赖项。
修改CMaklist.txt添加必要的依赖库,假设主进程所在的so名称为libmainprocesssample.so(主进程和子进程的实现也可以选择编译到同一个动态库文件)。
target_link_libraries(mainprocesssample PUBLIC # 添加依赖的元能力动态库 libchild_process.so # 其它依赖的动态库 # ... )
你可能感兴趣的鸿蒙文章
harmony 鸿蒙FA模型访问Stage模型DataShareExtensionAbility
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦