«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Почему установка ulimit -n в программе Go в 32-битных дистрибутивах Linux приводит к ошибке «недопустимый аргумент»?

Почему установка ulimit -n в программе Go в 32-битных дистрибутивах Linux приводит к ошибке «недопустимый аргумент»?

Опубликовано 6 ноября 2024 г.
Просматривать:272

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

Как установить ulimit -n из программы Go?

Проблема

Пользователь попытался установить ulimit -n из программы Go для ограничьте его внутри программы, а не глобально, используя системные вызовы setrlimit и getrlimit. Однако при попытке установить значение произошла ошибка с указанием «недопустимый аргумент».

Решение

Обнаружено, что проблема связана с ошибками Go в Getrlimit и Setrlimit для Linux 32- битовые распределения. С тех пор эти ошибки были исправлены, и для решения проблемы можно предпринять следующие шаги:

  1. Обновите подсказку ветки Go по умолчанию. Сюда будут включены исправления ошибок.
  2. Пересоберите программу, используя обновленный Go version.

Результаты

После обновления подсказки ветки Go по умолчанию и пересборки программы наблюдается ожидаемое поведение:

$ ./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}

Примечание: Для дистрибутивов Linux/amd64 проблема не возникала. Проблема была специфична для 32-битных дистрибутивов Linux.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3