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.