the effective and saved set IDs may be changed, as described in
.BR execve (2).
.PP
+Aside from the purposes noted above,
+a process's user IDs are also employed in a number of other contexts:
+.IP * 3
+when determining the permissions for sending signals (see
+.BR kill (2));
+.IP *
+when determining the permissions for setting
+process-scheduling parameters (nice value, real time
+scheduling policy and priority, CPU affinity, I/O priority) using
+.BR setpriority (2),
+.BR sched_setaffinity (2),
+.BR sched_setscheduler (2),
+.BR sched_setparam (2),
+.BR sched_setattr (2),
+and
+.BR ioprio_set (2);
+.IP *
+when checking resource limits (see
+.BR getrlimit (2));
+.IP *
+when checking the limit on the number of inotify instances
+that the process may create (see
+.BR inotify (7)).
+.PP
Subject to rules described in the relevant manual pages,
a process can use the following APIs to modify its user and group IDs:
.TP
Changes to a process's effective user or group ID can also affect the
process "dumpable" attribute, as described in
.BR prctl (2).
-.PP
-Aside from the purposes noted above,
-a process's user IDs are also employed in a number of other contexts:
-.IP * 3
-when determining the permissions for sending signals (see
-.BR kill (2));
-.IP *
-when determining the permissions for setting
-process-scheduling parameters (nice value, real time
-scheduling policy and priority, CPU affinity, I/O priority) using
-.BR setpriority (2),
-.BR sched_setaffinity (2),
-.BR sched_setscheduler (2),
-.BR sched_setparam (2),
-.BR sched_setattr (2),
-and
-.BR ioprio_set (2);
-.IP *
-when checking resource limits (see
-.BR getrlimit (2));
-.IP *
-when checking the limit on the number of inotify instances
-that the process may create (see
-.BR inotify (7)).
.SH CONFORMING TO
Process IDs, parent process IDs, process group IDs, and session IDs
are specified in POSIX.1.