harmony 鸿蒙native_child_process.h

  • 2025-06-12
  • 浏览 (3)

native_child_process.h

概述

支持创建Native子进程,并在父子进程间建立IPC通道。通过此模块和childProcessManager(非SELF_FORK模式)可以启动的子进程总数最大为512个。

:libchild_process.so

系统能力:SystemCapability.Ability.AbilityRuntime.Core

起始版本:12

相关模块ChildProcess

汇总

文件

名称 描述
native_child_process.h 支持创建Native子进程,并在父子进程间建立IPC通道。
引用文件:
库:libchild_process.so

类型定义

名称 描述
typedef enum Ability_NativeChildProcess_ErrCode Ability_NativeChildProcess_ErrCode 定义Native子进程模块错误码。
typedef void(* OH_Ability_OnNativeChildProcessStarted) (int errCode, OHIPCRemoteProxy *remoteProxy) 定义通知子进程启动结果的回调函数。
typedef void(* OH_Ability_OnNativeChildProcessExit) (int32_t pid, int32_t signal) 定义感知子进程异常退出的回调函数。
typedef struct NativeChildProcess_Fd 定义子进程文件描述符记录。
typedef struct NativeChildProcess_FdList 定义子进程文件描述符记录链表。
typedef struct NativeChildProcess_Args 定义启动子进程入参。
typedef struct NativeChildProcess_Options 定义子进程选项。

枚举

名称 描述
Ability_NativeChildProcess_ErrCode {
NCP_NO_ERROR = 0,
NCP_ERR_INVALID_PARAM = 401,
NCP_ERR_NOT_SUPPORTED = 801,
NCP_ERR_INTERNAL = 16000050,
NCP_ERR_BUSY = 16010001,
NCP_ERR_TIMEOUT = 16010002,
NCP_ERR_SERVICE_ERROR = 16010003,
NCP_ERR_MULTI_PROCESS_DISABLED = 16010004,
NCP_ERR_ALREADY_IN_CHILD = 16010005,
NCP_ERR_MAX_CHILD_PROCESSES_REACHED = 16010006,
NCP_ERR_LIB_LOADING_FAILED = 16010007,
NCP_ERR_CONNECTION_FAILED = 16010008
NCP_ERR_CALLBACK_NOT_EXIST = 16010009
}
定义Native子进程模块错误码。
NativeChildProcess_IsolationMode {
NCP_ISOLATION_MODE_NORMAL = 0,
NCP_ISOLATION_MODE_ISOLATED = 1,
}
定义子进程独立模式。

函数

名称 描述
int OH_Ability_CreateNativeChildProcess (const char *libName, OH_Ability_OnNativeChildProcessStarted onProcessStarted) 创建子进程并加载参数中指定的动态链接库文件,进程启动结果通过回调参数异步通知,需注意回调通知为独立线程,回调函数实现需要注意线程同步,且不能执行高耗时操作避免长时间阻塞。
说明:当前仅支持2in1设备。从API version 15开始,单个进程最多支持启动50个Native子进程。API version 14及之前版本,单个进程只能启动1个Native子进程。
Ability_NativeChildProcess_ErrCode OH_Ability_StartNativeChildProcess(const char* entry, NativeChildProcess_Args args, NativeChildProcess_Options options, int32_t *pid) 启动子进程,加载参数中指定的动态链接库文件并调用入口函数。支持传参到子进程。
说明:当前仅支持2in1、tablet设备。
NativeChildProcess_Args* OH_Ability_GetCurrentChildProcessArgs() 通过OH_Ability_StartNativeChildProcess启动子进程后,子进程能够在任意so和任意子线程中获取启动参数NativeChildProcess_Args
说明:当前仅支持2in1、tablet设备。
Ability_NativeChildProcess_ErrCode OH_Ability_RegisterNativeChildProcessExitCallback(OH_Ability_OnNativeChildProcessExit onProcessExit) 注册子进程异常退出回调函数,当子进程异常退出时,能够获取子进程的相关信息。
Ability_NativeChildProcess_ErrCode OH_Ability_UnregisterNativeChildProcessExitCallback(OH_Ability_OnNativeChildProcessExit onProcessExit) 解注册子进程异常退出回调函数。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Ability Kit(程序框架服务)

harmony 鸿蒙AbilityBase

harmony 鸿蒙AbilityBase_Element

harmony 鸿蒙AbilityRuntime

harmony 鸿蒙bundle

harmony 鸿蒙OH_NativeBundle_ApplicationInfo

harmony 鸿蒙OH_NativeBundle_ElementName

harmony 鸿蒙ability_base_common.h

harmony 鸿蒙ability_runtime_common.h

harmony 鸿蒙application_context.h

0  赞