DOKK / manpages / debian 12 / libcap-ng-dev / capng_setpid.3.en
CAPNG_SETPID(3) Libcap-ng API CAPNG_SETPID(3)

capng_setpid - set working pid

#include <cap-ng.h>

void capng_setpid(int pid);

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

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.

None.

capng_get_caps_process(3), capabilities(7)

Steve Grubb

June 2009 Red Hat