使用者嘗試在 Go 程式中設定 ulimit -n使用 setrlimit 和 getrlimit 系統呼叫將其限制在程式內而不是全域。然而,在嘗試設定該值時出現錯誤,提示「參數無效」。
發現問題是由於 Linux 32 的 Getrlimit 和 Setrlimit 中的 Go bug 造成的-位元分佈。這些錯誤現已修復,可以採取以下步驟來解決問題:
更新到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