在学习过程中,搭建了下webserver,发现教程没有提供关闭办法
第一种:先查看端口占用情况,然后kill -9
比如监控的是8000端口
lsof -i:8000
#或加个tcp查找tcp服务
lsof -i tcp:8080
#找到对应的端口后kill掉
kill -9 900
第二种:
killall 程序名称
第三种:使用supervisor管理
其他方法参考:
https://segmentfault.com/q/1010000005959105
http://siddontang.com/2015/01/25/stop-server-gracefully/
第四种:
如果http监听,可以使用ShutDown()
s := &http.Server{
Addr: ":8080",
Handler: http.DefaultServeMux,
ReadTimeout: 10 * time.Second,
WriteTimeout: 10 * time.Second,
MaxHeaderBytes: 1 << 20,
}
s.ListenAndServe()
s.Shutdown(nil)
注:如果要生成指定名称的进程,可以使用:
go build -o my main.go
#然后
killall -9 my