TCGETPGRP(3)

NOM
tcgetpgrp, tcsetpgrp - Lire/écrire le processus de premier plan d'un terminal

SYNOPSIS
#include <unistd.h>

pid_t tcgetpgrp(int fd);

int tcsetpgrp(int fd, pid_t pgrp);

DESCRIPTION
La fonction tcgetpgrp() renvoie l'ID du groupe de processus au premier plan sur le terminal associé fd, qui doit être le terminal de contrôle du processus appelant.

La fonction tcsetpgrp() fait du groupe de processus pgrp le groupe au premier plan sur le terminal associé à fd, qui doit être le terminal de contrôle du processus appelant, et être toujours associé à sa session. En outre, pgrp doit être un groupe (non vide) de processus appartenant à la même session que le processus appelant.

Si tcsetpgrp() est appelé par un membre d'un groupe de processus en arrière-plan dans sa session, et si le processus appelant ne bloque ni n'ignore SIGTTOU, un signal SIGTTOU est envoyé à tous les membres du groupe en arrière-plan.

VALEUR RENVOYÉE
Quand fd identifie le terminal de contrôle du processus appelant, la fonction tcgetpgrp() renverra l'ID du groupe de processus au premier plan sur ce terminal s'il existe, sinon il renvoie une valeur supérieure à 1, différente d'un ID de groupe de processus existant. Si fd ne correspond pas au terminal de contrôle du processus, -1 est renvoyé et errno est positionnée en conséquence.

Lorsqu'elle réussit, la fonction tcsetpgrp() renvoie 0. Sinon, elle renvoie -1, et remplit errno avec le code d'erreur.

ERREURS

EBADF
    fd n'est pas un descripteur de fichier valable.

EINVAL
    pgrp a une valeur illégale.

ENOTTY
    Le processus appelant n'a pas de terminal de contrôle, ou il en a un mais ce n'est pas celui décrit par fd, ou, pour tcsetpgrp(), ce terminal de contrôle n'est plus associé avec la session du processus appelant.

EPERM
    pgrp a une valeur légale, mais ce n'est pas l'ID d'un groupe de processus dans la même session que le processus appelant.

ATTRIBUTS

  Multithreading (voir pthreads(7))
Les fonctions tcgetpgrp() et tcsetpgrp() sont sûres dans un contexte multithread.

CONFORMITÉ
POSIX.1-2001.

NOTES
Ces fonctions sont implémentées à l’aide des ioctls TIOCGPGRP et TIOCSPGRP.

  Historique
Les ioctls sont apparus dans BSD 4.2. Ces fonctions sont des inventions POSIX.

VOIR AUSSI
setpgid(2), setsid(2), credentials(7)

COLOPHON
Cette page fait partie de la publication 3.70 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».