Um usuário tentou definir ulimit -n de dentro de um programa Go para restrinja-o dentro do programa e não globalmente, usando as chamadas de sistema setrlimit e getrlimit. No entanto, ocorreu um erro ao tentar definir o valor, informando "argumento inválido".
Foi descoberto que o problema era devido a bugs Go no Getrlimit e Setrlimit para Linux 32- distribuições de bits. Esses bugs já foram corrigidos e as seguintes etapas podem ser seguidas para resolver o problema:
Depois de atualizar para a dica de ramificação padrão do Go e reconstruir o programa, o comportamento esperado é observado:
$ ./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 distribuições Linux/amd64, o problema não foi encontrado. O problema era específico das distribuições Linux de 32 bits.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3