1e41f4b71Sopenharmony_ci# AbilityRunningInfo (System API)
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciThe **AbilityRunningInfo** module defines the running information and state of an ability.
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci> **NOTE**
6e41f4b71Sopenharmony_ci> 
7e41f4b71Sopenharmony_ci> The initial APIs of this module are supported since API version 8. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8e41f4b71Sopenharmony_ci> The APIs provided by this module are system APIs.
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci## Modules to Import
11e41f4b71Sopenharmony_ci
12e41f4b71Sopenharmony_ci```ts
13e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
14e41f4b71Sopenharmony_ci```
15e41f4b71Sopenharmony_ci
16e41f4b71Sopenharmony_ci## Usage
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ciThe ability running information is obtained by calling [getAbilityRunningInfos](js-apis-app-ability-abilityManager-sys.md#getabilityrunninginfos) in **abilityManager**.
19e41f4b71Sopenharmony_ci
20e41f4b71Sopenharmony_ci## Attributes
21e41f4b71Sopenharmony_ci
22e41f4b71Sopenharmony_ci**System capability**: SystemCapability.Ability.AbilityRuntime.Core
23e41f4b71Sopenharmony_ci
24e41f4b71Sopenharmony_ci**System API**: This is a system API and cannot be called by third-party applications.
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci| Name | Type | Readable | Writable | Description |
27e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | -------- |
28e41f4b71Sopenharmony_ci| ability | ElementName | Yes | No | Information that matches an ability. |
29e41f4b71Sopenharmony_ci| pid | number | Yes | No | Process ID. |
30e41f4b71Sopenharmony_ci| uid | number | Yes | No | User ID. |
31e41f4b71Sopenharmony_ci| processName | string | Yes | No | Process name. |
32e41f4b71Sopenharmony_ci| startTime | number | Yes | No | Ability start time. |
33e41f4b71Sopenharmony_ci| abilityState | [abilityManager.AbilityState](js-apis-app-ability-abilityManager-sys.md#abilitystate) | Yes | No | Ability state. |
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci**Example**
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ci```ts
38e41f4b71Sopenharmony_ciimport { abilityManager } from '@kit.AbilityKit';
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ciabilityManager.getAbilityRunningInfos((error, data) => {
41e41f4b71Sopenharmony_ci  if (error) {
42e41f4b71Sopenharmony_ci    console.error(`getAbilityRunningInfos fail, error: ${JSON.stringify(error)}`);
43e41f4b71Sopenharmony_ci  } else {
44e41f4b71Sopenharmony_ci    console.log(`getAbilityRunningInfos success, data: ${JSON.stringify(data)}`);
45e41f4b71Sopenharmony_ci    for (let i = 0; i < data.length; i++) {
46e41f4b71Sopenharmony_ci      let abilityInfo = data[i];
47e41f4b71Sopenharmony_ci      console.log(`abilityInfo.ability: ${JSON.stringify(abilityInfo.ability)}`);
48e41f4b71Sopenharmony_ci      console.log(`abilityInfo.pid: ${JSON.stringify(abilityInfo.pid)}`);
49e41f4b71Sopenharmony_ci      console.log(`abilityInfo.uid: ${JSON.stringify(abilityInfo.uid)}`);
50e41f4b71Sopenharmony_ci      console.log(`abilityInfo.processName: ${JSON.stringify(abilityInfo.processName)}`);
51e41f4b71Sopenharmony_ci      console.log(`abilityInfo.startTime: ${JSON.stringify(abilityInfo.startTime)}`);
52e41f4b71Sopenharmony_ci      console.log(`abilityInfo.abilityState: ${JSON.stringify(abilityInfo.abilityState)}`);
53e41f4b71Sopenharmony_ci    }
54e41f4b71Sopenharmony_ci  }
55e41f4b71Sopenharmony_ci});
56e41f4b71Sopenharmony_ci```
57