1# ExtensionRunningInfo (System API)
2
3The **ExtensionRunningInfo** module encapsulates ExtensionAbility running information, which can be obtained through [getExtensionRunningInfos](js-apis-app-ability-abilityManager-sys.md#getextensionrunninginfos).
4
5> **NOTE**
6>
7>  - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
8>  - The APIs provided by this module are system APIs.
9
10## Modules to Import
11
12```ts
13import { abilityManager } from '@kit.AbilityKit';
14```
15
16## Usage
17
18Import the **abilityManager** module and obtain the ExtensionAbility running information by calling the method in the **abilityManager** module.
19
20## Attributes
21
22**System capability**: SystemCapability.Ability.AbilityRuntime.Core
23
24**System API**: The following APIs are system APIs and cannot be called by third-party applications.
25
26| Name | Type | Readable | Writable | Description |
27| -------- | -------- | -------- | -------- | -------- |
28| extension | [ElementName](js-apis-bundleManager-elementName.md) | Yes | No | ExtensionAbility information. |
29| pid | number | Yes | No | Process ID. |
30| uid | number | Yes | No | UID of the application. |
31| processName | string | Yes | No | Process name. |
32| startTime | number | Yes | No | Timestamp when the ExtensionAbility is started. |
33| clientPackage | Array<String> | Yes | No | Names of all packages in the process. |
34| type | [ExtensionAbilityType](js-apis-bundleManager.md#extensionabilitytype) | Yes | No | ExtensionAbility type. |
35
36**Example**
37```ts
38import { abilityManager } from '@kit.AbilityKit';
39
40let upperLimit = 1;
41
42function getExtensionInfos() {
43  abilityManager.getExtensionRunningInfos(upperLimit, (error, data) => {
44    if (error) {
45      console.error(`getForegroundApplications failed, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}`);
46      return;
47    }
48
49    for (let i = 0; i < data.length; i++) {
50      let extensionRunningInfo = data[i];
51      console.log(`extensionRunningInfo.extension: ${JSON.stringify(extensionRunningInfo.extension)}`);
52      console.log(`extensionRunningInfo.pid: ${JSON.stringify(extensionRunningInfo.pid)}`);
53      console.log(`extensionRunningInfo.uid: ${JSON.stringify(extensionRunningInfo.uid)}`);
54      console.log(`extensionRunningInfo.processName: ${JSON.stringify(extensionRunningInfo.processName)}`);
55      console.log(`extensionRunningInfo.startTime: ${JSON.stringify(extensionRunningInfo.startTime)}`);
56      console.log(`extensionRunningInfo.clientPackage: ${JSON.stringify(extensionRunningInfo.clientPackage)}`);
57      console.log(`extensionRunningInfo.type: ${JSON.stringify(extensionRunningInfo.type)}`);
58    }
59  });
60}
61```
62