खोज…


वाक्य - विन्यास

  • func Notify (c चान <- os.Signal, sig ... os.Signal)

पैरामीटर

पैरामीटर विवरण
c चान <- os.Signal channel प्राप्त करना विशेष रूप से प्रकार के os.Signal ; sigChan := make(chan os.Signal) के साथ आसानी से बनाया गया sigChan := make(chan os.Signal)
sig ... os.Signal इस channel को पकड़ने और भेजने के लिए os.Signal प्रकार की सूची। अधिक विकल्पों के लिए https://golang.org/pkg/syscall/#pkg-constants देखें।

एक चैनल को संकेत सौंपना

अक्सर बार जब आप अपने कार्यक्रम को ओएस द्वारा बंद करने और राज्य को संरक्षित करने के लिए कुछ कार्रवाई करने, या अपने आवेदन को साफ करने के लिए कहा जा रहा है, तो आपको पकड़ने का कारण होगा। इसे पूरा करने के लिए आप मानक पुस्तकालय से os/signal पैकेज का उपयोग कर सकते हैं। नीचे सिस्टम से चैनल तक सभी संकेतों को निर्दिष्ट करने का एक सरल उदाहरण है, और फिर उन संकेतों पर प्रतिक्रिया कैसे करें।

package main

import (
    "fmt"
    "os"
    "os/signal"
)

func main() {
    // create a channel for os.Signal
    sigChan := make(chan os.Signal)

    // assign all signal notifications to the channel 
    signal.Notify(sigChan)

    // blocks until you get a signal from the OS
    select {
    // when a signal is received
    case sig := <-sigChan:
        // print this line telling us which signal was seen
        fmt.Println("Received signal from OS:", sig)
    }
}

जब आप उपरोक्त स्क्रिप्ट चलाते हैं तो यह एक चैनल बनाएगा, और तब तक ब्लॉक करेगा जब तक कि चैनल सिग्नल प्राप्त नहीं कर लेता।

$ go run signals.go 
^CReceived signal from OS: interrupt

ऊपर ^C कीबोर्ड कमांड CTRL+C जो SIGINT सिग्नल भेजता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow