.\" -*- coding: UTF-8 -*- .\" Copyright 1993, Giorgio Ciucci .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH msgget 2 "11 Febrero 2026" "Linux man\-pages 6.18" .SH NOMBRE msgget \- devuelve un identificador System V para una cola de mensajes .SH BIBLIOTECA Biblioteca Estándar C (\fIlibc\fP,\ \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint msgget(key_t \fP\fIkey\fP\fB, int \fP\fImsgflg\fP\fB);\fP .fi .SH DESCRIPCIÓN La llamada al sistema \fBmsgget\fP() retorna el identificador de la cola de mensajes System\ V asociado con el valor del argumento \fIkey\fP. Puede utilizarse para obtener el identificador de una cola de mensajes creada previamente, si \fImsgflg\fP es cero y \fIkey\fP no tiene el valor \fBIPC_PRIVATE\fP, o también para crear un nuevo conjunto. .P Se crea una nueva cola de mensajes si \fIkey\fP tiene el valor \fBIPC_PRIVATE\fP o si \fIkey\fP no es \fBIPC_PRIVATE\fP, no existe ninguna cola de mensajes con la clave \fIkey\fP y se especifica \fBIPC_CREAT\fP en \fImsgflg\fP. .P Si \fImsgflg\fP define tanto \fBIPC_CREAT\fP como \fBIPC_EXCL\fP y ya existe una cola de mensajes para \fIkey\fP, \fBmsgget\fP() falla con \fIerrno\fP establecido en \fBEEXIST\fP. Es el mismo efecto que la combinación \fBO_CREAT | O_EXCL\fP para \fBopen\fP(2).) .P Tras la creación, los bits menos significativos del argumento \fImsgflg\fP definen los permisos de la cola de mensajes. Estos bits de permiso tienen el mismo formato y semántica que los permisos definidos para el argumento \fImode\fP de \fBopen\fP(2). No se usan los permisos de ejecución. .P Si se crea una nueva cola de mensajes, la llamada al sistema inicializa la estructura de datos del sistema (consulte \fBmsgctl\fP(2)) para la cola \fBmsqid_ds\fP como se muestra: .IP \[bu] 3 \fImsg_perm.cuid\fP y \fImsg_perm.uid\fP son fijados al identificador del usuario efectivo del proceso invocador. .IP \[bu] \fImsg_perm.cgid\fP y \fImsg_perm.gid\fP son fijados al identificador de grupo efectivo del proveso invocador. .IP \[bu] Los 9 bits menos importantes de \fImsg_perm.mode\fP son fijados a los 9 bits menos significativos de \fImsgflg\fP. .IP \[bu] \fImsg_qnum\fP, \fImsg_lspid\fP, \fImsg_lrpid\fP, \fImsg_stime\fP y \fImsg_rtime\fP son puestos a 0. .IP \[bu] \fImsg_ctime\fP contendrá la hora actual. .IP \[bu] \fImsg_qbytes\fP será igual al límite impuesto por el sistema \fBMSGMNB\fP. .P Si la cola de mensajes ya existe, se verifican los permisos, y ser realiza una comprobación a fin de verificar si está marcada para su destrucción. .SH "VALOR DEVUELTO" En caso de éxito, \fBmsgget\fP() devuelve el identificador de la cola de mensajes (un entero no negativo). En caso de error, se devuelve \-1 y se establece \fIerrno\fP para indicar el error. .SH ERRORES .TP \fBEACCES\fP Existe una cola de mensajes para \fIkey\fP, pero el proceso que realiza la llamada no tiene permiso para acceder a ella ni la capacidad \fBCAP_IPC_OWNER\fP en el espacio de nombres de usuario que rige su espacio de nombres IPC. .TP \fBEEXIST\fP Se definieron \fBIPC_CREAT\fP y \fBIPC_EXCL\fP en \fImsgflg\fP, pero ya existe una cola de mensajes para \fIkey\fP. .TP \fBENOENT\fP No existe ninguna cola de mensajes para \fIkey\fP y \fImsgflg\fP no especificó \fBIPC_CREAT\fP. .TP \fBENOMEM\fP Una cola de mensajes ha de ser creada pero el sistema no contiene suficiente memoria para la nueva estructura de datos. .TP \fBENOSPC\fP Una cola de mensajes ha de ser creada pero el límite del sistema para el máximo número de colas de mensajes (\fBMSGMNI\fP) será superado. .SH ESTÁNDARES POSIX.1\-2024 XSI. .SH HISTORIAL SVr4, SUSv1, POSIX.1\-2001 XSI. .SS Linux Hasta Linux 2.3.20, Linux devolvía \fBEIDRM\fP para una función \fBmsgget\fP() en una cola de mensajes programada para su eliminación. .SH NOTAS \fBIPC_PRIVATE\fP no es un campo de bandera, sino un tipo \fIkey_t\fP. Si se usa este valor especial para \fIkey\fP, la llamada al sistema ignora todo excepto los 9 bits menos significativos de \fImsgflg\fP y crea una nueva cola de mensajes (en caso de éxito). .P Lo siguiente es una limitación en los recursos del sistema que afecta a la llamada \fBmsgget\fP(): .TP \fBMSGMNI\fP .\" commit 0050ee059f7fc86b1df2527aaa14ed5dc72f9973 Límite de colas de mensajes en todo el sistema. Antes de Linux 3.19, el valor predeterminado se calculaba mediante una fórmula basada en la memoria disponible del sistema. A partir de Linux 3.19, el valor predeterminado es 32 000. En Linux, este límite se puede leer y modificar mediante \fI/proc/sys/kernel/msgmni\fP. .SH ERRORES La elección del nombre \fBIPC_PRIVATE\fP puede que fuera desafortunada, \fBIPC_NEW\fP mostraría más claramente su función. .SH "VÉASE TAMBIÉN" \fBmsgctl\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBftok\fP(3), \fBcapabilities\fP(7), \fBmq_overview\fP(7), \fBsysvipc\fP(7) .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Juan Piernas y Marcos Fouces . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .