關閉 go 後臺運行程序

第一種:先查看端口占用情況,然後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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章