.\" -*- coding: UTF-8 -*- .\" Copyright (c) 1983, 1991 Regents of the University of California. .\" and Copyright (C) 2007, Michael Kerrisk .\" All rights reserved. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\" @(#)getpgrp.2 6.4 (Berkeley) 3/10/91 .\" .\" Modified 1993-07-24 by Rik Faith .\" Modified 1995-04-15 by Michael Chastain : .\" Added 'getpgid'. .\" Modified 1996-07-21 by Andries Brouwer .\" Modified 1996-11-06 by Eric S. Raymond .\" Modified 1999-09-02 by Michael Haardt .\" Modified 2002-01-18 by Michael Kerrisk .\" Modified 2003-01-20 by Andries Brouwer .\" 2007-07-25, mtk, fairly substantial rewrites and rearrangements .\" of text. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH setpgid 2 "5 fevereiro 2023" "Linux man\-pages 6.03" .SH NOME setpgid, getpgid, setpgrp, getpgrp \- define/obtém o grupo do processo .SH BIBLIOTECA Biblioteca C Padrão (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSE .nf \fB#include \fP .PP \fBint setpgid(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP \fBpid_t getpgid(pid_t \fP\fIpid\fP\fB);\fP .PP \fBpid_t getpgrp(void);\fP /* POSIX.1 version */ \fB[[deprecated]] pid_t getpgrp(pid_t \fP\fIpid\fP\fB);\fP /* BSD version */ .PP \fBint setpgrp(void);\fP /* System V version */ \fB[[deprecated]] int setpgrp(pid_t \fP\fIpid\fP\fB, pid_t \fP\fIpgid\fP\fB);\fP /* BSD version */ .fi .PP .RS -4 Requisitos de macro de teste de recursos para o glibc (consulte \fBfeature_test_macros\fP(7)): .RE .PP \fBgetpgid\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Desde o glibc 2.12: */ _POSIX_C_SOURCE >= 200809L .fi .PP \fBsetpgrp\fP() (POSIX.1): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE .fi .PP \fBsetpgrp\fP() (BSD), \fBgetpgrp\fP() (BSD): .nf [Estes estão disponíveis apenas antes do glibc 2.19] _BSD_SOURCE && ! (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE || _GNU_SOURCE || _SVID_SOURCE) .fi .SH DESCRIÇÃO Todas essas interfaces estão disponíveis no Linux e são usadas para obter e definir o ID do grupo de processos (PGID) de um processo. As formas preferidas, especificadas por POSIX.1, de fazer isso são: \fBgetpgrp\fP(void), para recuperar o PGID do processo de chamada; e \fBsetpgid\fP(), para definir o PGID de um processo. .PP \fBsetpgid\fP() define o PGID do processo especificado por \fIpid\fP para \fIpgid\fP. Se \fIpid\fP é zero, a ID de processo do processo atual é usado. Se \fIpgid\fP é zero, o PGID do processo especificado por \fIpid\fP é tornado o mesmo que seu ID de processo. Se \fBsetpgid\fP() é usado para mover processo de um grupo de processo para outro (como é feito por alguns shells ao criar canais de processamento), ambos grupos de processo devem ser partes da mesma sessão (consulte \fBsetsid\fP(2) e \fBcredentials\fP(7)). Neste caso, o \fIpgid\fP especifica um grupo de processo existente a ser unido e o ID da sessão daquele grupo dever combinar com a ID da sessão do processo que é unido. .PP A versão POSIX.1 de \fBgetpgrp\fP(), que não leva argumentos, retorna o PGID do processo de chamada. .PP \fBgetpgid\fP() retorna o PGID do processo especificado por \fIpid\fP. Se \fIpid\fP é zero, o ID de processo do processo atual é usada. (Recuperar o PGID de um processo diferente do chamador raramente é necessário, e o \fBgetpgrp\fP() POSIX.1 é o preferido para essa tarefa.) .PP O \fBsetpgrp\fP() do estilo System\ V, que leva nenhum argumento, é equivalente a \fIsetpgid(0,\ 0)\fP. .PP A chamada \fBsetpgrp\fP() específica do BSD, que leva os argumentos \fIpid\fP e \fIpgid\fP, é uma função de wrapper que chama .PP .in +4n .EX setpgid(pid, pgid) .EE .in .PP .\" The true BSD setpgrp() system call differs in allowing the PGID .\" to be set to arbitrary values, rather than being restricted to .\" PGIDs in the same session. Desde o glibc 2.19, a função \fBsetpgrp\fP() específica do BSD não é mais exposta por \fI\fP; as chamadas devem ser substituídas pela chamada \fBsetpgid\fP() mostrada acima. .PP A chamada \fBgetpgrp\fP() específica do BSD, que leva um único argumento \fIpid\fP, é uma função de wrapper que chama .PP .in +4n .EX getpgid(pid) .EE .in .PP Desde o glibc 2.19, a função \fBgetpgrp\fP() específica do BSD não é mais exposta por \fI\fP; as chamadas devem ser substituídas por chamadas para \fBgetpgrp\fP() POSIX.1 que não leva argumentos (se a intenção for obter o PGID do chamador), ou com a chamada \fBgetpgid\fP() mostrada acima. .SH "VALOR DE RETORNO" Em caso de sucesso, \fBsetpgid\fP() e \fBsetpgrp\fP() retornam zero. Em caso de erro, \-1 é retornado e \fIerrno\fP é definido para indicar o erro. .PP O \fBgetpgrp\fP() POSIX.1 sempre retorna o PGID do chamador. .PP \fBgetpgid\fP(), e o \fBgetpgrp\fP() específico do BSD, retornam o grupo de processo em caso de sucesso. Em caso de erro, \-1 é retornado e \fIerrno\fP é definido para indicar o erro. .SH ERROS .TP \fBEACCES\fP Foi feita uma tentativa de alterar o ID do grupo de processo de um dos filhos do processo de chamada e o filho já havia executado um \fBexecve\fP(2) (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEINVAL\fP \fIpgid\fP é menor que 0 (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBEPERM\fP Foi feita uma tentativa de mover um processo para um grupo de processos em uma sessão diferente, ou para alterar o ID do grupo de processos de um dos filhos do processo de chamada e o filho estava em uma sessão diferente, ou para alterar o ID do grupo de processos de um líder de sessão (\fBsetpgid\fP(), \fBsetpgrp\fP()). .TP \fBESRCH\fP Para \fBgetpgid\fP(): \fIpid\fP não corresponde a nenhum processo. Para \fBsetpgid\fP(): \fIpid\fP não é o processo de chamada e não é filho do processo de chamada. .SH PADRÕES \fBsetpgid\fP() e a versão de \fBgetpgrp\fP() com nenhum argumento em conformidade com POSIX.1\-2001. .PP POSIX.1\-2001 também especifica \fBgetpgid\fP() e a versão de \fBsetpgrp\fP() que não aceita argumentos. (POSIX.1\-2008 marca esta especificação de \fBsetpgrp\fP() como obsoleta.) .PP A versão de \fBgetpgrp\fP() com um argumento e a versão de \fBsetpgrp\fP() que leva dois argumentos derivam de 4.2BSD, e não são especificados por POSIX.1. .SH NOTAS Um filho criado por meio de \fBfork\fP(2) herda o ID do grupo de processo de seu pai. O PGID é preservado em um \fBexecve\fP(2). .PP Cada grupo de processo é um membro de uma sessão e cada processo é um membro da sessão da qual seu grupo de processo é um membro. (Veja \fBcredentials\fP(7).) .PP Uma sessão pode ter um terminal de controle. A qualquer momento, um (e apenas um) dos grupos de processos na sessão pode ser o grupo de processos em primeiro plano para o terminal; os grupos de processos restantes estão em segundo plano. Se um sinal é gerado a partir do terminal (por exemplo, digitando a tecla de interrupção para gerar \fBSIGINT\fP), esse sinal é enviado para o grupo de processo de primeiro plano. (Consulte \fBtermios\fP(3) para uma descrição dos caracteres que geram sinais.) Apenas o grupo de processos de primeiro plano pode usar \fBread\fP(2) a partir do terminal; se um grupo de processo em segundo plano tenta usar \fBread\fP(2) a partir do terminal, então o grupo recebe um sinal \fBSIGTTIN\fP, que o suspende. As funções \fBtcgetpgrp\fP(3) e \fBtcsetpgrp\fP(3) são usadas para obter/definir o grupo de processos de primeiro plano do terminal de controle. .PP As chamadas \fBsetpgid\fP() e \fBgetpgrp\fP() são usadas por programas como \fBbash\fP(1) para criar grupos de processos a fim de implementar o controle de trabalho do shell. .PP .\" exit.3 refers to the following text: Se o término de um processo faz com que um grupo de processo se torne órfão, e se qualquer membro do grupo de processo recém\-órfão for interrompido, um sinal \fBSIGHUP\fP seguido por um sinal \fBSIGCONT\fP será enviado para cada processo no grupo de processo recentemente órfão. Um grupo de processos órfão é aquele em que o pai de cada membro do grupo de processos também é membro do grupo de processos ou é membro de um grupo de processos em uma sessão diferente (consulte também \fBcredenciais\fP(7)). .SH "VEJA TAMBÉM" \fBgetuid\fP(2), \fBsetsid\fP(2), \fBtcgetpgrp\fP(3), \fBtcsetpgrp\fP(3), \fBtermios\fP(3), \fBcredentials\fP(7) .PP .SH TRADUÇÃO A tradução para português brasileiro desta página man foi criada por André Luiz Fassone , Marcelo Pereira da Silva e Rafael Fontenelle . . .PP Esta tradução é uma documentação livre; leia a .UR https://www.gnu.org/licenses/gpl-3.0.html Licença Pública Geral GNU Versão 3 .UE ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita. .PP Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para .MT debian-l10n-portuguese@lists.debian.org a lista de discussão de tradutores .ME .