Heim > Artikel > Backend-Entwicklung > Warum führt das Festlegen von „ulimit -n“ aus einem Go-Programm auf Linux-32-Bit-Distributionen zu einem Fehler „Ungültiges Argument“?
Ein Benutzer hat versucht, ulimit -n aus einem Go-Programm heraus festzulegen Beschränken Sie es innerhalb des Programms und nicht global, indem Sie die Systemaufrufe setrlimit und getrlimit verwenden. Beim Versuch, den Wert festzulegen, ist jedoch ein Fehler mit der Meldung „Ungültiges Argument“ aufgetreten.
Es wurde festgestellt, dass das Problem auf Go-Fehler in Getrlimit und Setrlimit für Linux 32 zurückzuführen war. Bitverteilungen. Diese Fehler wurden inzwischen behoben und die folgenden Schritte können unternommen werden, um das Problem zu beheben:
Nach dem Update auf den Standard-Zweigtipp von Go und dem Neuaufbau des Programms wird das Es wird das erwartete Verhalten beobachtet:
$ ./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}
Hinweis: Bei Linux/amd64-Distributionen ist das Problem nicht aufgetreten. Das Problem trat spezifisch bei Linux-32-Bit-Distributionen auf.
Das obige ist der detaillierte Inhalt vonWarum führt das Festlegen von „ulimit -n“ aus einem Go-Programm auf Linux-32-Bit-Distributionen zu einem Fehler „Ungültiges Argument“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!