Application groups

Updated: April 19, 2023

Application groups are used to group processes together so they can be controlled as a group.

Application groups rely on every process having its own ID, known as an "application ID". The application ID can be used for operations, such as delivering signals and changing APS partitions.

A new application group can be formed during the spawning of a process. By default, the application ID of this process matches that of its parent. If the spawn flag POSIX_SPAWN_NEWAPP is specified when the process starts, the process instead creates a new application group with the application ID matching the process ID of the new process. The use of the spawn flag is privileged, requiring that the process calling posix_spawn() has the ability PROCMGR_AID_CHILD_NEWAPP. Simply put, an adequately privileged process can create a child process where all of its descendants in addition to itself share the same application ID, making an application group. This allows for all processes in the application group to be terminated or moved to different APS partitions. For more information, see posix_spawn() in the C Library Reference.

The DCMD_PROC_INFO devctl() returns the application ID in a structure field.

Operations which may be performed using application IDs include: