• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# background_process_manager.h
2
3
4## 概述
5
6本模块提供了后台子进程管控接口。开发者可以通过本模块接口对子进程进行压制、解压制,避免子进程过多占用系统资源,导致系统使用卡顿。 本模块接口仅对通过[OH_Ability_StartNativeChildProcess](../apis-ability-kit/c-apis-ability-childprocess.md#oh_ability_startnativechildprocess)接口创建的子进程生效。
7
8**库:** libbackground_process_manager.z.so
9
10**系统能力:** SystemCapability.Resourceschedule.BackgroundProcessManager
11
12**起始版本:** 17
13
14**相关模块:**[BackgroundProcessManager](_background_process_manager.md)
15
16
17## 汇总
18
19
20### 类型定义
21
22| 名称 | 描述 |
23| -------- | -------- |
24| typedef enum [BackgroundProcessManager_ProcessPriority](_background_process_manager.md#backgroundprocessmanager_processpriority) [BackgroundProcessManager_ProcessPriority](_background_process_manager.md#backgroundprocessmanager_processpriority) | 子进程压制档位。  |
25| typedef enum [BackgroundProcessManager_ErrorCode](_background_process_manager.md#backgroundprocessmanager_errorcode) [BackgroundProcessManager_ErrorCode](_background_process_manager.md#backgroundprocessmanager_errorcode) | 定义后台子进程管控错误码。  |
26
27
28### 枚举
29
30| 名称 | 描述 |
31| -------- | -------- |
32| [BackgroundProcessManager_ProcessPriority](_background_process_manager.md#backgroundprocessmanager_processpriority) { [PROCESS_BACKGROUND](_background_process_manager.md) = 1, [PROCESS_INACTIVE](_background_process_manager.md) = 2 } | 子进程压制档位。  |
33| [BackgroundProcessManager_ErrorCode](_background_process_manager.md#backgroundprocessmanager_errorcode) { [ERR_BACKGROUND_PROCESS_MANAGER_SUCCESS](_background_process_manager.md) = 0, [ERR_BACKGROUND_PROCESS_MANAGER_INVALID_PARAM](_background_process_manager.md) = 401, [ERR_BACKGROUND_PROCESS_MANAGER_REMOTE_ERROR](_background_process_manager.md) = 31800001 } | 定义后台子进程管控错误码。  |
34
35
36### 函数
37
38| 名称 | 描述 |
39| -------- | -------- |
40| int [OH_BackgroundProcessManager_SetProcessPriority](_background_process_manager.md#oh_backgroundprocessmanager_setprocesspriority) (int pid, [BackgroundProcessManager_ProcessPriority](_background_process_manager.md#backgroundprocessmanager_processpriority) priority) | 设置子进程的压制档位,子进程被压制后可获得的CPU资源将会受到限制。如果主进程调度策略发生变化,如从后台切至前台等, 子进程会跟随主进程一同变化,子进程如需继续压制,需要重新调用本接口。  |
41| int [OH_BackgroundProcessManager_ResetProcessPriority](_background_process_manager.md#oh_backgroundprocessmanager_resetprocesspriority) (int pid) | 为子进程解压制,即子进程策略恢复为主进程调度策略。若主进程调度策略发生变化,如从后台切至前台等, 子进程会跟随主进程一同变化,等效于执行一次resetProcessPriority动作。  |
42