.\" Copyright (C) 2002 Andries Brouwer .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Traducción revisada por Miguel Pérez Ibars el 21-enero-2005 .\" .TH TCGETPGRP 3 "28 enero 2003" "POSIX" "Manual del Programador de Linux" .SH NOMBRE tcgetpgrp, tcsetpgrp \- obtienen y establecen el grupo de procesos en primer plano de la terminal .SH SINOPSIS .sp .BR "#include " .sp .BI "pid_t tcgetpgrp(int " fd ); .sp .BI "int tcsetpgrp(int " fd ", pid_t " pgrp ); .SH DESCRIPCIÓN La función .B tcgetpgrp() devuelve el identificador de grupo de procesos del grupo de procesos en primer plano en la terminal asociada a .IR fd , que debe ser la terminal de control del proceso invocador. .\" El proceso mismo puede ser un proceso en segundo plano. .LP La función .B tcsetpgrp() convierte el grupo de procesos con identificador \fIpgrp\fP en el grupo de procesos en primer plano en la terminal asociada a .IR fd , que debe ser la terminal de control del proceso invocador, y debe estar todavía asociada con su sesión. Además, \fIpgrp\fP debe ser un grupo de procesos (no vacío) perteneciente a la misma sesión que el proceso invocador. .LP Si .B tcsetpgrp() es llamada por un miembro de un grupo de procesos en segundo plano en su sesión, y el proceso invocador no está bloqueando o ignorando SIGTTOU, se envía una señal SIGTTOU a todos los miembros de este grupo de procesos en segundo plano. .SH "VALOR DEVUELTO" Cuando .I fd hace referencia a la terminal de control del proceso invocador, la función .B tcgetpgrp() devolverá el identificador del grupo de procesos en primer plano de esa terminal si hay uno, y algún valor mayor que 1 en caso contrario. Cuando .I fd no hace referencia a la terminal de control del proceso invocador, se devuelve \-1 y se modifica .I errno con el valor apropiado. .LP Cuando tiene éxito, .B tcsetpgrp() devuelve 0. En otro caso, devuelve \-1, y se modifica .I errno con el valor apropiado. .SH ERRORES .TP .B EBADF .I fd no es un descriptor de fichero válido. .TP .B EINVAL .I pgrp tiene un valor no válido. .TP .B EPERM .I pgrp tiene un valor válido, pero no es el identificador de grupo de procesos de un proceso en la misma sesión que el proceso invocador. .TP .B ENOTTY El proceso invocador no tiene una terminal de control, o tiene una pero no está descrita por .IR fd , o, para .BR tcsetpgrp() , esta terminal de control ha dejado de estar asociada con la sesión del proceso invocador. .SH OBSERVACIONES Estas funciones fueron implementadas a través de los ioctls TIOCGPGRP y TIOCSPGRP. .SH HISTORIA Estos ioctls aparecieron en 4.2 BSD. Las funciones son invenciones de POSIX. .SH "CONFORME A" POSIX.1 .SH "VÉASE TAMBIÉN" .BR setpgid (2), .BR setsid (2)