TCGETPGRP

Section: Manuel du programmeur Linux (3)
Updated: 21 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
NOTES
HISTORIQUE
CONFORMITÉ
VOIR AUSSI
TRADUCTION

NOM

tcgetpgrp, tcsetpgrp - Lire/écrire le processus d'avant-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 à l'avant-plan sur le terminal associé fd, qui doit être le terminal de contrôle du processus appelant.
La fonction tcsetpgrp() fait du groupe de procesus pgrp le groupe en avant-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 membe d'un groupe de processus en arrière plan dans sa session, et si le processus appelant ne bloque ni n'ignore SIGTTOU, une signal SIGTTOU est envoyé à tous les membre 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 en avant-plan sur ce terminal s'il y en a, et une valeur supérieure à 1 autre qu'un ID de groupe de processus existant sinon. Si fd ne correspon pas au terminal de contrôle du processus, -1 est renvoyé et errno est rempli.
Lorqu'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 valide.
EINVAL
pgrp a une valeur illégale.
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.
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.

NOTES

Ces fonctions sont implémentées via les ioctls TIOCGPGRP et TIOCSPGRP.

HISTORIQUE

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

CONFORMITÉ

POSIX.1

VOIR AUSSI

setpgid(2), setsid(2)

TRADUCTION

Christophe Blaess, 2003.