"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Por qué configurar `ulimit -n` desde un programa Go en distribuciones Linux de 32 bits genera un error de \"argumento no válido\"?

¿Por qué configurar `ulimit -n` desde un programa Go en distribuciones Linux de 32 bits genera un error de \"argumento no válido\"?

Publicado el 2024-11-06
Navegar:977

Why does setting `ulimit -n` from a Go program on Linux 32-bit distributions result in an \

¿Cómo configurar ulimit -n desde un programa Go?

Problema

Un usuario intentó configurar ulimit -n desde un programa Go para restrinjalo dentro del programa en lugar de hacerlo globalmente, utilizando las llamadas al sistema setrlimit y getrlimit. Sin embargo, se produjo un error al intentar establecer el valor, indicando "argumento no válido".

Solución

Se descubrió que el problema se debía a errores de Go en Getrlimit y Setrlimit para Linux 32- distribuciones de bits. Desde entonces, estos errores se han solucionado y se pueden seguir los siguientes pasos para resolver el problema:

  1. Actualice la sugerencia de rama predeterminada Ir. Esto incluirá las correcciones de errores.
  2. Reconstruya el programa usando la versión actualizada de Go.

Resultados

Después de actualizar a la sugerencia de rama predeterminada de Go y reconstruir el programa, el Se observa el comportamiento esperado:

$ ./rlimit
{1024 4096}
Error Setting Rlimit  operation not permitted
Rlimit Final {1024 4096}
$ sudo ./rlimit
[sudo] password for peterSO: 
{1024 4096}
Rlimit Final {999999 999999}

Nota: Para las distribuciones Linux/amd64, no se encontró el problema. El problema era específico de las distribuciones de Linux de 32 bits.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3