Linux |
CentOS 5.3 |
|
tcgetpgrp(3) |
tcgetpgrp, tcsetpgrp − Lire/écrire le processus d’avant-plan d’un terminal. |
#include <unistd.h> pid_t tcgetpgrp(int fd); int tcsetpgrp(int fd, pid_t pgrp); |
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 processus 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 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. |
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 correspond pas au terminal de contrôle du processus, −1 est renvoyé et errno est positionnée en conséquence. Lorqu’elle réussit, la fonction tcsetpgrp() renvoie 0. Sinon, elle renvoie −1, et remplit errno avec le code d’erreur. |
EBADF |
fd n’est pas un descripteur valide. |
||
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. |
Ces fonctions sont implémentées via les ioctls TIOCGPGRP et TIOCSPGRP. |
Les ioctls sont apparus dans BSD 4.2. Ces fonctions sont des inventions POSIX. |
POSIX.11-2001. |
setpgid(2), setsid(2) |
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 21 juillet 2003 et révisée le 14 août 2006. L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 tcgetpgrp ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. |
tcgetpgrp(3) |