AA-STATUS(8) AppArmor AA-STATUS(8)

# [NAME](#NAME)

aa-status - display various information about the current AppArmor policy.

# [SYNOPSIS](#SYNOPSIS)

**aa-status** \[option]

# [DESCRIPTION](#DESCRIPTION)

**aa-status** will report various aspects of the current state of AppArmor confinement. By default, it displays the same information as if the *--verbose* argument were given. A sample of what this looks like is:

```
  apparmor module is loaded.
  110 profiles are loaded.
  102 profiles are in enforce mode.
  8 profiles are in complain mode.
  Out of 129 processes running:
  13 processes have profiles defined.
  8 processes have profiles in enforce mode.
  5 processes have profiles in complain mode.
```

Other argument options are provided to report individual aspects, to support being used in scripts.

# [OPTIONS](#OPTIONS)

**aa-status** accepts only one argument at a time out of:

[--enabled](#enabled)

returns error code if AppArmor is not enabled.

[--profiled](#profiled)

displays the number of loaded AppArmor policies.

[--enforced](#enforced)

displays the number of loaded enforcing AppArmor policies.

[--complaining](#complaining)

displays the number of loaded non-enforcing AppArmor policies.

[--kill](#kill)

displays the number of loaded enforcing AppArmor policies that will kill tasks on policy violations.

[--prompt](#prompt)

displays the number of loaded enforcing AppArmor policies, with fallback to userspace mediation.

[--special-unconfined](#special)

displays the number of loaded non-enforcing AppArmor policies that are in the special unconfined mode.

[--process-mixed displays the number of processes confined by profile stacks with profiles in different modes.](#process)

[--verbose](#verbose)

displays multiple data points about loaded AppArmor policy set (the default action if no arguments are given).

[--json](#json)

displays multiple data points about loaded AppArmor policy set in a JSON format, fit for machine consumption.

[--pretty-json](#pretty)

same as --json, formatted to be readable by humans as well as by machines.

[--show](#show)

what data sets to show information about. Currently *processes*, *profiles*, *all* for both processes and profiles. The default is *all*.

[--count](#count)

display only counts for selected information.

[--filter.mode=filter](#filter.mode=filter)

Allows specifying a posix regular expression filter that will be applied against the displayed processes and profiles apparmor profile mode, reducing the output.

[--filter.profiles=filter](#filter.profiles=filter)

Allows specifying a posix regular expression filter that will be applied against the displayed processes and profiles confining profile, reducing the output.

[--filter.pid=filter](#filter.pid=filter)

Allows specifying a posix regular expression filter that will be applied against the displayed processes, so that only processes pids matching the expression will be displayed.

[--filter.exe=filter](#filter.exe=filter)

Allows specifying a posix regular expression filter that will be applied against the displayed processes, so that only processes executable name matching the expression will be displayed.

[--help](#help)

displays a short usage statement.

# [EXIT STATUS](#EXIT_STATUS)

Upon exiting, **aa-status** will set its exit status to the following values:

**0**

if apparmor is enabled and policy is loaded.

**1**

if apparmor is not enabled/loaded.

**2**

if apparmor is enabled but no policy is loaded.

**3**

if the apparmor control files aren't available under /sys/kernel/security/.

**4**

if the user running the script doesn't have enough privileges to read the apparmor control files.

**42**

if an internal error occurred.

# [BUGS](#BUGS)

**aa-status** must be run as root to read the state of the loaded policy from the apparmor module. It uses the /proc filesystem to determine which processes are confined and so is susceptible to race conditions.

If you find any additional bugs, please report them at &lt;https://gitlab.com/apparmor/apparmor/-/issues&gt;.

# [SEE ALSO](#SEE_ALSO)

[**apparmor**(7)](/man/enterprise-packages/apparmor-binutils/apparmor.7), [**apparmor.d**(5)](/man/enterprise-packages/apparmor-binutils/apparmor.d.5), and &lt;https://wiki.apparmor.net&gt;.

2026-09-13 AppArmor 5.0.2

---

Document: aa-status(8) from apparmor-binutils 5.0.2-r2 (Chainguard OS)
Source: https://gitlab.com/apparmor/apparmor.git
