---
name: "capng_setpid"
section: "3"
platform: "linux"
package: "libcap-ng"
version: "0.9.6-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/capng_setpid"
---

# capng\_setpid(3)

set working pid

## NAME

capng\_setpid - set working pid

## SYNOPSIS

**#include \<cap-ng.h\>**

void capng\_setpid(int pid);

## DESCRIPTION

capng\_setpid sets the working pid for capabilities operations. This is useful if you want to get the capabilities of a different process.

## NOTES

If your process calls **fork** , then the child process will still have the pid of the parent process stored in libcap-ng's internal data. It is disallowed to do any kind of setcap operations because you would be crossing process boundaries. To correct this, if your program links against pthreads, then libcap-ng will use the **pthread\_atfork** function (as a weak symbol) to reset the pid information to the new process automatically. You are not required to link against pthreads. You can call **capng\_setpid** and adjust the stored pid manually.

## RETURN VALUE

None.

## SEE ALSO

[**capng\_get\_caps\_process**(3)](/capng_get_caps_process/3.md), [**capabilities**(7)](/capabilities/7.md)

## AUTHOR

Steve Grubb
