"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > वैश्विक सीमा को प्रभावित किए बिना गोलांग प्रोग्राम से ulimit -n कैसे सेट करें?

वैश्विक सीमा को प्रभावित किए बिना गोलांग प्रोग्राम से ulimit -n कैसे सेट करें?

2024-11-08 को प्रकाशित
ब्राउज़ करें:154

How to set ulimit -n from a Golang program without impacting the global limit?

एक गोलांग प्रोग्राम से urimit -n सेट करना

प्रश्न: मैं गोलांग प्रोग्राम से ulimit -n को कैसे सेट कर सकता हूं ताकि इसे सीमित किया जा सके वैश्विक स्तर के बजाय कार्यक्रम?

A:
गोलंग प्रोग्राम से ulimit -n सेट करने के लिए, आप निम्न चरणों का उपयोग कर सकते हैं:

package main

import (
    "fmt"
    "syscall"
)

func main() {
    var rLimit syscall.Rlimit
    err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
    if err != nil {
        fmt.Println("Error Getting Rlimit ", err)
    }
    fmt.Println(rLimit)
    rLimit.Max = 999999
    rLimit.Cur = 999999
    err = syscall.Setrlimit(syscall.RLIMIT_NOFILE, &rLimit)
    if err != nil {
        fmt.Println("Error Setting Rlimit ", err)
    }
    err = syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
    if err != nil {
        fmt.Println("Error Getting Rlimit ", err)
    }
    fmt.Println("Rlimit Final", rLimit)
}

नोट: मान सेट करते समय आपको "अमान्य तर्क" त्रुटि मिल सकती है। ऐसा इसलिए है क्योंकि आपको प्रोग्राम को उन्नत विशेषाधिकारों के साथ चलाने की आवश्यकता है।

$ uname -a
Linux peterSO 3.8.0-26-generic #38-Ubuntu SMP Mon Jun 17 21:46:08 UTC 2013 i686 i686 i686 GNU/Linux
$ go version
go version devel  ba52f6399462 Thu Jul 25 09:56:06 2013 -0400 linux/386
$ ulimit -Sn
1024
$ ulimit -Hn
4096
$ go build rlimit.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}
$
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3