Cada processo possui um identificador (ou ID) único denominado pid. Como no caso dos usuários, ele pode estar associado a um grupo, e neste caso será utilizado o identificador denominado pgpr. As diferentes primitivas permitindo o acesso aos diferentes identificadores de um processo são as seguintes:
#include <unistd.h>
pid_t getpid() /* retorna o ID do processo */
pid_t getppid() /* retorna o ID do pai do processo */
int setpgid(pid_t pid, pid_t pgid); /* seta o valor do ID do grupo do */
/* especificado por pid para pgid */
pid_t getpgid(pid_t pid); /* retorna o ID do grupo de processos */
/* especificado por pid */
int setpgrp(void); /* equivalente a setpgid(0,0) */
pid_t getpgrp(void); /* equivalente a getpgid(0) */
Valor de retorno: 0 se setpgid e setpgrp são executados com sucesso e, -1 em caso de erro.