os.constants es una interfaz de programación de aplicaciones incorporada del módulo os que se utiliza para obtener constantes específicas del sistema operativo para código de error, constantes de señal, constante de prioridad, constantes dlopen, etc.
Sintaxis:
os.constants
Valor de retorno: Devuelve un objeto que contiene constantes especificadas por el sistema operativo. Ejemplo: códigos de error, constantes de señal, constante de prioridad, constantes dlopen, etc.
Se puede acceder a las constantes de señal usando os.constants.signals y se puede acceder a las constantes de prioridad usando os.constants.priority.
Algunas de las constantes se enumeran a continuación:
Constantes de señal:
Constante | Descripción |
---|---|
SUSCRÍBETE | Se envía para especificar cuándo sale un proceso principal o se cierra una terminal de control. |
SEGUIR | Se envía para especificar cuándo un usuario interrumpe un proceso. (como (Ctrl+C)). |
SIGQUITAR | Se envía para especificar que un usuario desea finalizar el proceso y realizar un volcado del núcleo. |
SEÑAL | Se envía a un proceso para notificar que ha intentado realizar una instrucción incorrecta, desconocida, ilegal o privilegiada. |
SIGTRAP | Se envía a un proceso en caso de que ocurra una excepción. |
SIGABRT | Se envía a un proceso para solicitar abortar. |
SIGIOTE | Es el sinónimo de SIGABRT. |
SIGBUS | Se envía a un proceso para notificar un error de bus. |
SIGFPE | Se envía a un proceso para notificar por una operación aritmética ilegal. |
sigilo | Se envía a un proceso para terminar inmediatamente. |
SIGUSR1 SIGUSR2 | Se envía a un proceso para reconocer las condiciones definidas por el usuario. |
SIGSEGV | Se envía a un proceso para notificar por una falla de segmentación. |
TUBO DE SEÑAL | Se envía a un proceso cuando ha intentado escribir en una tubería desconectada. |
SIGALRM | Se envía a un proceso para que transcurra un temporizador del sistema. |
SIGTERM | Se envía a un proceso para solicitar la terminación. |
SIGCHLD | Se envía a un proceso después de que termina un proceso hijo. |
SIGSTKFLT | Se envía a un proceso para especificar un fallo de pila en un coprocesador. |
SIGCONT | Se envía para indicarle al sistema operativo que continúe un proceso en pausa. |
SEGUIMIENTO | Se envía para indicarle al sistema operativo que detenga un proceso. |
SIGTSTP | Se envía a un proceso para solicitar que se detenga. |
SIGBREAK | Se envía para especificar que un usuario desea interrumpir un proceso. |
SIGTTIN | Se envía cuando un proceso lee desde el TTY mientras está en segundo plano. |
SIGTTU | Se envía cuando un proceso escribe en el TTY mientras está en segundo plano. |
SIGURG | Se envía a un proceso para indicar que un socket tiene datos urgentes para leer. |
SIGXCPU | Se envía cuando un proceso ha excedido su límite de uso de CPU. |
SIGXFSZ | Se envía cuando un proceso crece un archivo más grande que el máximo permitido. |
SIGVTALRM | Se envía a un proceso para una ocurrencia de temporizador virtual transcurrido. |
SIGPROF | Se envía a un proceso después de que haya transcurrido un temporizador del sistema. |
SIGWINCH | Se envía a un proceso después de que un terminal de control cambió su tamaño. |
SIGIO | Se envía a un proceso para indicar que la E/S está disponible. |
SIGPOLL | Es el sinónimo de SIGIO. |
SIGLOST | Se envía a un proceso para indicar que se ha perdido un bloqueo de archivo. |
SIGPWR | Se envía a un proceso para notificar un corte de energía. |
SIGINFO | Es el sinónimo de SIGPWR. |
SIGSYS | Se envía a un proceso para notificar por mal argumento. |
SIGUIDO | Es el sinónimo de SIGSYS. |
Constantes de error:
1. Constante de error POSIX
Constante | Descripción |
---|---|
E2BIG | Es especificar una larga lista de argumentos de lo esperado. |
EACCES | Es para especificar permisos insuficientes para la operación. |
EADDRINUSO | Es para especificar una dirección de red ya utilizada. |
EADDRNOTAVAIL | Es para especificar la dirección de red actualmente no disponible. |
APOYO EAFNOS | Es para especificar la familia de direcciones de red no admitida. |
OTRA VEZ | Es para especificar que no hay datos disponibles y volver a intentar la operación más tarde. |
YA | Es para especificar que el socket tiene una conexión pendiente en curso. |
EBADF | Es para especificar un descriptor de archivo no válido. |
Ebadmsg | Es para especificar un mensaje de datos inválidos. |
EBUSY | Es para especificar que un dispositivo o recurso está ocupado. |
CANCELADO | Es para especificar que se canceló una operación. |
NIÑO | Es para especificar que no se deben tener procesos secundarios. |
ECONABORTADO | Es para especificar la conexión de red abortada. |
RECHAZADO | Es para especificar la conexión de red rechazada. |
ECONNRESET | Es para especificar la conexión de red de reinicio. |
EDEADLK | Es para especificar un interbloqueo de recursos evitado. |
EDESTADDRREQ | Es para especificar que se requiere una dirección de destino. |
Edom | Es para especificar que un argumento está fuera del dominio de la función. |
EDCUOT | Es para especificar que se ha excedido la cuota de disco. |
EXISTE | Es para especificar que el archivo ya existe. |
EFECTO | Es para especificar una dirección de puntero no válida. |
EFBIG | Es para especificar que el archivo es demasiado grande. |
EHOSTUNREACH | Es para especificar que el host es inalcanzable. |
EIDRM | Es para especificar que el identificador ha sido eliminado. |
EILSEQ | Es para especificar una secuencia de bytes ilegal. |
EN PROGRESO | Es para especificar que una operación ya está en curso. |
EINTR | Es para especificar que se interrumpió una llamada de función. |
EINVAL | Es para especificar que se proporcionó un argumento no válido. |
OEI | Es para especificar un error de E/S no especificado de otro modo. |
EISCONN | Es para especificar que el enchufe está conectado. |
EISDIR | Es para especificar que la ruta es un directorio. |
ELOOP | Es especificar demasiados niveles de enlaces simbólicos en una ruta. |
EMFILE | Es para especificar que hay demasiados archivos abiertos. |
EMLINK | Es para especificar que hay demasiados enlaces duros a un archivo. |
TAMAÑO EMSGS | Es para especificar que el mensaje proporcionado es demasiado largo. |
EMULTIHOP | Es para especificar que se intentó un salto múltiple. |
ESMALTE LARGO | Es para especificar que el nombre del archivo es demasiado largo. |
ENTRAR | Es para especificar que la red está caída. |
ENTRESET | Es para especificar que la conexión ha sido abortada por la red. |
ENETUNREACH | Es para especificar que la red es inalcanzable. |
ENFILE | Es especificar demasiados archivos abiertos en el sistema. |
ENOBUFS | Es para especificar que no hay espacio de búfer disponible. |
ENODATA | Es para especificar que no hay ningún mensaje disponible en la cola de lectura del encabezado de flujo. |
ENODEV | Es para especificar que no existe tal dispositivo. |
ENOENT | Es para especificar que no existe tal archivo o directorio. |
ENOEXEC | Es para especificar un error de formato exec. |
ENOLCK | Es para especificar que no hay candados disponibles. |
ENOLINK | Es para especificar que se ha cortado un enlace. |
ENOMÉN | Es para especificar que no hay suficiente espacio. |
ENOMSG | Es para especificar que no hay ningún mensaje del tipo deseado. |
ENOPROTOOPT | Es para especificar que un protocolo dado no está disponible. |
ENOSPC | Es para especificar que no hay espacio disponible en el dispositivo. |
ENOSR | Es para especificar que no hay recursos de flujo disponibles. |
ENOSTR | Es para especificar que un recurso dado no es un flujo. |
ENOSYS | Es para especificar que una función no ha sido implementada. |
ENOTCONN | Es para especificar que el enchufe no está conectado. |
ENOTDIR | Es para especificar que la ruta no es un directorio. |
ENOTENTO | Es para especificar que el directorio no está vacío. |
ENOTCALCETINES | Es para especificar que el artículo dado no es un socket. |
ENOTSUP | Es para especificar que una determinada operación no es compatible. |
ENOTTY | Es para especificar una operación de control de E/S inapropiada. |
ENXIO | Es para no especificar tal dispositivo o dirección. |
EOPNOTSUPP | Es para especificar que una operación no es compatible con el socket. Aunque ENOTSUP y EOPNOTSUPP tienen el mismo valor en Linux, según POSIX.1, estos valores de error deberían ser distintos) |
DESBORDAMIENTO | Es para especificar que un valor es demasiado grande para ser almacenado en un tipo de datos dado. |
EPERM | Es para especificar que la operación no está permitida. |
EPIPE | Es para especificar una tubería rota. |
EPROTO | Es para especificar un error de protocolo. |
EPROTONOSAPOYO | Es para especificar un protocolo no soportado. |
EPROTOTIPO | Es especificar el tipo de protocolo incorrecto para un socket. |
RANGO | Es para especificar que los resultados son demasiado grandes. |
EROF | Es para especificar que el sistema de archivos es de solo lectura. |
ESPIPE | Es para especificar una operación de búsqueda no válida. |
ESRCH | Es para precisar que no existe tal proceso. |
ESTADO | Es para especificar que el identificador de archivo está obsoleto. |
ETIME | Es para especificar un temporizador caducado. |
ETIMEDOUT | Es para especificar que se agotó el tiempo de espera de la conexión. |
EXTBSY | Es para especificar que un archivo de texto está ocupado. |
EWOULDBLOCK | Es para especificar que se bloquearía la operación. |
DESVEX | Es para especificar un enlace impropio. |
2. Error específico de Windows
Códigos constantes | Descripción constante |
---|---|
WSAEINTR | Es para especificar una llamada de función interrumpida. |
WSAEBADF | Es para especificar un identificador de archivo no válido. |
WSAEACCES | Es para especificar permisos insuficientes para completar la operación. |
WSAEFAULT | Es para especificar una dirección de puntero no válida. |
WSAEINVAL | Es para especificar que se pasó un argumento inválido. |
ARCHIVO WSAEM | Es para especificar que hay demasiados archivos abiertos. |
WSAEWOULDBLOCK | Es para especificar que un recurso no está disponible temporalmente. |
WSAEENPROGRESO | Es para especificar que una operación está actualmente en curso. |
WSAEYA | Es para especificar que una operación ya está en curso. |
WSAENOTSOCK | Es para especificar que el recurso no es un socket. |
WSAEDESTADDRREQ | Es para especificar que se requiere una dirección de destino. |
WSAEMSGSIZE | Es para especificar que el tamaño del mensaje es demasiado largo. |
WSAEPROTOTIPO | Es para especificar el tipo de protocolo incorrecto para el socket. |
WSAENOPROTOOPT | Es para especificar una mala opción de protocolo. |
SOPORTE WSAEPROTONOS | Es para especificar que el protocolo no es compatible. |
WSAESOCKTNOSUPPORT | Es para especificar que el tipo de socket no es compatible. |
WSAEOPNOTSUPP | Es para especificar que la operación no está soportada. |
SOPORTE WSAEPFNOS | Es para especificar que la familia de protocolos no es compatible. |
SOPORTE WSAEAFNOS | Es para especificar que la familia de direcciones no es compatible. |
WSAEADDRINUSO | Es para especificar que la dirección de red ya está en uso. |
WSAEADDRNOTAVAIL | Es para especificar que la dirección de red no está disponible. |
WSAENETDOWN | Es para especificar que la red está caída. |
WSAENETUNREACH | Es para especificar que la red es inalcanzable. |
WSAENETRESET | Es para especificar que se ha restablecido la conexión de red. |
WSAECONABORTADO | Es para especificar que la conexión ha sido abortada. |
WSAECONNRESET | Es para especificar que la conexión ha sido restablecida por el par. |
WSAENOBUFS | Es para especificar que no hay espacio de búfer disponible. |
WSAEISCONN | Es para especificar que el enchufe ya está conectado. |
WSAENOTCONN | Es para especificar que el enchufe no está conectado. |
WSAESHUTDOWN | Es para especificar que los datos no se pueden enviar después de que se haya cerrado el socket. |
WSAETOOMANYREFS | Es para precisar que hay demasiadas referencias. |
WAETIMEDOUT | Es para especificar que la conexión ha expirado. |
WSAECONNREFUSED | Es para especificar que la conexión ha sido rechazada. |
WSAELOOP | Es para especificar que un nombre no se puede traducir. |
WSAENAMETOOLONG | Es para especificar que un nombre era demasiado largo. |
WSAEHOSTDOWN | Es para especificar que un host de red está inactivo. |
WSAEHOSTUNREACH | Es para especificar que no hay ruta a un host de red. |
WSAENOTEMPTY | Es para especificar que el directorio no está vacío. |
WSAEPROCLIM | Es para precisar que hay demasiados procesos. |
USUARIOS DE WSAE | Es para especificar que se ha excedido la cuota de usuario. |
WSAEDCUOT | Es para especificar que se ha excedido la cuota de disco. |
WSAESTALE | Es para especificar una referencia de identificador de archivo obsoleto. |
WSAEREMOTE | Es para especificar que el ítem es remoto. |
WSASYSNOTREADY | Es para especificar que el subsistema de red no está listo. |
WSAVERNOTSUPPORTED | Es para especificar que la versión winsock.dll está fuera de rango. |
WSANOINICIALIZADO | Es para especificar que aún no se ha realizado WSAStartup con éxito. |
WSAEDISCON | Es para especificar que el apagado correcto está en curso. |
WSAENOMORE | Es para especificar que no hay más resultados. |
WSAECANCELADO | Es para especificar que se ha cancelado una operación. |
WSAEINVALIDPROCTABLE | Es para especificar que la tabla de llamadas a procedimientos no es válida. |
PROVEEDOR NO VÁLIDO WSAE | Es para especificar un proveedor de servicios no válido. |
WSAEPROVIDERFAILEDINIT | Es para especificar que el proveedor de servicios no se pudo inicializar. |
WSASYSCALLFAILURE | Es para especificar una falla de llamada al sistema. |
WSASERVICE_NOT_FOUND | Es para especificar que no se encontró un servicio. |
WSATYPE_NO_ENCONTRADO | Es para especificar que no se encontró un tipo de clase. |
WSA_E_NO_MORE | Es para especificar que no hay más resultados. |
WSA_E_CANCELADO | Es para especificar que la llamada fue cancelada. |
WSAEREFUNDIDO | Es para especificar que se rechazó una consulta de la base de datos. |
Constantes de caída:
Código constante | Descripción constante |
---|---|
RTLD_LAZY | Realiza enlace perezoso. Node.js establece este indicador de forma predeterminada. |
RTLD_NOW | Resuelve todos los símbolos indefinidos en la biblioteca antes de que dlopen(3) regrese. |
RTLD_GLOBAL | Estos símbolos definidos por la biblioteca estarán disponibles para la resolución de símbolos de bibliotecas cargadas posteriormente. |
RTLD_LOCAL | Lo contrario de RTLD_GLOBAL. Este es el comportamiento predeterminado si no se especifica ningún indicador. |
RTLD_DEEPBIND | esto hace que una biblioteca autónoma use sus propios símbolos en lugar de símbolos de bibliotecas cargadas previamente. |
Constantes de prioridad:
Códigos constantes | Descripción constante |
---|---|
PRIORIDAD_BAJA | La prioridad mínima de programación del proceso. |
PRIORIDAD_BAJO_NORMAL | La prioridad de programación del proceso está por debajo de PRIORITY_NORMAL y por encima de PRIORITY_LOW. |
PRIORIDAD_NORMAL | La prioridad de programación del proceso es normal o predeterminada. |
PRIORIDAD_ARRIBA_NORMAL | La prioridad de programación del proceso está por debajo de PRIORITY_HIGH y por encima de PRIORITY_NORMAL. |
PRIORIDAD_ALTA | La prioridad de programación del proceso por debajo de PRIORITY_HIGHEST y por encima de PRIORITY_ABOVE_NORMAL. |
PRIORIDAD_MÁS ALTA | La prioridad de programación del proceso es máxima. |
constantes libuv:
Códigos constantes | Descripción constante |
---|---|
UV_UDP_REUSEADDR |
Los siguientes ejemplos ilustran el uso de os.constants en Node.js:
Ejemplo 1:
javascript
// Import os module const os = require('os'); constants = os.constants; // Printing all os.constants console.log(constants);
Producción:
[Object: null prototype] { UV_UDP_REUSEADDR: 4, dlopen: [Object: null prototype] {}, errno: [Object: null prototype] { E2BIG: 7, EACCES: 13, EADDRINUSE: 100, . . . PRIORITY_HIGH: -14, PRIORITY_HIGHEST: -20 } }
Ejemplo 2:
javascript
// Import os module const os = require('os'); constants = os.constants; // Printing os.constants // Signals constants if(constants.signals != undefined){ console.log("Signals:"); console.log(constants.signals); } // Priority constants if(constants.priority!=undefined){ console.log("priority:"); console.log(constants.priority); }
Producción:
Signals: [Object: null prototype] { SIGHUP: 1, SIGINT: 2, . . . PRIORITY_HIGH: -14, PRIORITY_HIGHEST: -20 }
Nota: El programa anterior se compilará y ejecutará mediante el comando node index.js.
Referencia: https://nodejs.org/api/os.html#os_os_constants