gpt4 book ai didi

go - 在 Go 语言中杀死 ListenAndServe

转载 作者:IT王子 更新时间:2023-10-29 01:53:19 26 4
gpt4 key购买 nike

我正在尝试使用 Sublime Text + GoSublime 进行 Golang 开发。

我正在使用 Go 中的网络服务器 (ListenAndServe("8000", &handler))。

我遇到的问题是,当我运行 Go 进程时(另一个进程正在运行),第二个进程不起作用(因为端口已被使用)。

我想要发生的是,当我去运行 web.go 时,如果一个已经在运行,请在运行这个之前关闭它。

Sublime Text 3 的构建系统似乎无法跟踪之前的执行 - 所以我不知道终止的最佳方式。当我运行 CTRL+B 时,它不会阻塞,它会在另一个线程中执行构建系统——这意味着我不能在执行下一个线程之前按 CTRL+C。所以我要做的是在启动下一个进程之前通过命令行终止现有进程。

所以我正在寻找具有 Sublime Text 的构建系统配置的解决方案,或者甚至可能让 Go 进程本身检查是否有进程正在运行并终止进程。

想法?从终端来回切换有点烦人。

最佳答案

不确定我是否理解正确的问题。

但是在 sublime text 构建控制台中,有 tskill 命令可以终止从控制台启动的事件任务。所以你可以输入 Ctrl+B调用控制台并输入 tskill杀死正在运行的 web.go 任务。还有其他别名tskill <task ID>, task replay or task go .引用是 here .之后,您可以运行其他命令,包括 go run。

还有一个replay命令。 “这就像运行,但尝试在运行前取消任何事件的执行”。我觉得它看起来像你想要的。

此外,Gosublime command shell 有 sh 命令模式。它非常灵活,例如类型 sh killall web;go run web.go或运行 shell 脚本来运行它。

希望对您有所帮助。

关于go - 在 Go 语言中杀死 ListenAndServe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22542212/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com