【问题标题】:Get golang http server working with rerun获取使用重新运行的 golang http 服务器
【发布时间】:2020-11-23 15:03:33
【问题描述】:

我正在尝试在源文件更改时使用rerun 重新启动 go http 服务器,但重新启动总是无法启动。

简单的服务器

package main

import (
    "net/http"
    "fmt"
    "log"
    "html"
)

func main() {
    http.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
    })

    log.Fatal(http.ListenAndServe(":8080", nil))
}

命令行输出

$ rerun -p "**/*.{go,html}" go run my_server.go

16:49:24 [rerun] Rerun_test launched
16:49:26 [rerun] Watching . for **/*.{go,html} using Darwin adapter
16:50:17 [rerun] Change detected: 1 modified
16:50:17 [rerun] Sending signal TERM to 75688

16:50:17 [rerun] Rerun_test restarted
2014/07/15 16:50:17 listen tcp :8080: bind: address already in use
exit status 1

16:50:19 [rerun] Rerun_test Launch Failed

我怎样才能让它工作,或者为什么服务器在重新启动时不能绑定到端口?

另外,我使用的是 OSX 10.9。

【问题讨论】:

标签: go


【解决方案1】:

一个进程已经在端口 8080 上运行,这就是它无法重新运行的原因,转到您的活动监视器,找到在您的情况下它可能被命名为 (my_server) 的进程,然后退出它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-29
    • 2013-07-15
    • 1970-01-01
    • 2015-11-05
    • 1970-01-01
    • 2020-04-07
    • 2021-01-30
    • 1970-01-01
    相关资源
    最近更新 更多