---
name: "pmGetUsername"
section: "3"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmGetUsername"
---

# pmGetUsername(3)

fetch special PCP username

## NAME

**pmGetUsername** - fetch special PCP username

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**

**int pmGetUsername(char \*\****username***);**

**cc ... -lpcp**

## DESCRIPTION

Within the Performance Co-Pilot (PCP) some applications use a special (non-root) username to allow access, e.g. to write log files into protected directories.

**pmGetUsername** returns the name via *username*.

The variable name **PCP\_USER** is fetched using [**pmGetOptionalConfig**(3)](/pmGetOptionalConfig/3.md). If this succeeds, **pmGetUsername** returns 1. Otherwise. *username* is set to the default value of **pcp** and **pmGetUsername** returns 0.

**pmGetUsername** is most often used in conjunction with [**pmSetProcessIdentity**(3)](/pmSetProcessIdentity/3.md) at process start up.

## SEE ALSO

[**PMAPI**(3)](/PMAPI/3.md), [**pmGetOptionalConfig**(3)](/pmGetOptionalConfig/3.md) and [**pmSetProcessIdentity**(3)](/pmSetProcessIdentity/3.md).
