package main
import (
"fmt"
"log"
"net/http"
"time"
)
func handlerfunc(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World" )
}
http.ServeContent(w, r, str , time.Now(), f)
}
func PleaseStart(){
http.HandleFunc("/" , handlerfunc )
log.Fatal(http.ListenAndServe(":80", nil))
}
func kill_server() {
//How do I kill server from here
}
func main() {
go PleaseStart()
kill_server()
}
我启动了一个响应hello world的http.server,如何从kill_server函数中杀死它 如果没有重写所有内容,这可能吗?
答案 0 :(得分:0)
不幸的是没有。 if it has more than 1000 entries, delete the first entry
会生成一个您无法访问的本地http.ListenAndServe
实例,这是您需要能够停止访问的实例。您需要创建自己的http.Server
实例,并使用该实例注册您的处理程序,而不是使用http.Server
。然后,您可以使用http.HandleFunc
立即关闭服务器,或Close()
正常停止服务器(让关机前的请求完成)。
Shutdown()