Incorrect description for `resource.RLIMIT_NPROC`

The documentation describes this constant as:

The maximum number of processes the current process may create.

However, this is misleading—the affected process shares this cap with all other existing processes owned by the same user ID. Here’s what getrlimit says:

This is a limit on the number of extant process (or, more precisely on Linux, threads) for the real user ID of the calling process. So long as the current number of processes belonging to this process’s real user ID is greater than or equal to this limit, fork(2) fails with the error EAGAIN.

For example, on a desktop system, if I restrict my shell to an NPROC of 1000, I can’t even run a basic command:

$ ulimit -u 1000; ls -ld .
bash: fork: retry: Resource temporarily unavailable

That’s because I’m running all sorts of programs already, adding up to about 1200 processes and threads. If I want to start another process, the resource limit needs to be higher than that baseline.

Suggested replacement text:

Prevents the current process from creating additional processes or threads if the count owned by the process’s user already has or exceeds this number.

…it’s awkward, but so is the feature itself.