penutupan anggun untuk pelayan http pada linux
Apabila menjalankan pelayan http, selalunya perlu melakukan operasi tertentu sebelum pelayan keluar. Ini boleh dilakukan menggunakan mekanisme isyarat Unix.
Satu cara untuk melakukannya ialah menggunakan pakej os.Signal dalam Go:
package main import ( "fmt" "log" "net/http" "os" "os/signal" ) func main() { // Create a new http server. http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") }) go func() { // Start the server. log.Fatal(http.ListenAndServe(":8080", nil)) }() // Create a channel to receive os signals. sigchan := make(chan os.Signal) signal.Notify(sigchan, os.Interrupt) // Block until a signal is received. <-sigchan // Perform shutdown operations. log.Println("Shutting down server...") // Close the server. err := http.CloseServer(http.DefaultServer) if err != nil { log.Fatal(err) } // Exit the program. os.Exit(0) }
Kod ini akan mencipta pelayan http baharu dan dengar pada port 8080. Apabila program menerima isyarat gangguan (cth., Ctrl C), ia akan melaksanakan operasi penutupan, yang dalam kes ini termasuk menutup pelayan dan keluar dari program.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penutupan Anggun untuk Pelayan HTTP di Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!