ユーザーが Go プログラム内から ulimit -n を設定しようとしました。 setrlimit および getrlimit システム コールを使用して、グローバルではなくプログラム内で制限します。ただし、値を設定しようとすると、「無効な引数」というエラーが発生しました。
この問題は、Linux 32 の Getrlimit および Setrlimit の Go のバグが原因であることが判明しました。ビット分布。これらのバグは修正されており、問題を解決するには次の手順を実行できます:
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 ディストリビューションの場合、この問題は発生しませんでした。この問題は Linux 32 ビット ディストリビューションに特有のものでした。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3