我正在尝试使用 Sublime Text + GoSublime 进行 Golang 开发。我正在使用 Go ( ListenAndServe("8000", &handler)) 中的网络服务器。我遇到的问题是,当我运行 Go 进程时(而另一个进程正在运行),第二个进程不起作用(因为端口已在使用中)。我想要发生的是,当我go run web.go,如果一个人已经在运行,在运行这个之前关闭它。Sublime Text 3 的构建系统似乎没有跟踪之前的执行——所以我不知道终止的最佳方式。当我运行 CTRL+B 时,它不会阻塞,它会在另一个线程中执行构建系统——这意味着在执行下一个线程之前我不能 CTRL+C。所以我要做的是在开始下一个进程之前通过命令行终止现有进程。因此,我正在寻找具有 Sublime Text 构建系统配置的解决方案,或者甚至可能让 Go 进程本身检查以查看是否正在运行并终止该进程。想法?从终端来回交换有点烦人。
1 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
不确定我是否理解问题。
但是在 sublime text build 控制台中,有 tskill 命令可以终止从控制台启动的活动任务。因此,您可以键入Ctrl+B
以调用控制台并键入tskill
以终止正在运行的 web.go 任务。还有其他别名tskill <task ID>, task replay or task go
。参考在这里。之后,您可以运行其他命令,包括 go run。
更重要的是有一个replay
命令。“这就像运行,但试图在运行前取消任何活动的执行”。我觉得它看起来像你想要的。
此外,Gosublime 命令外壳具有 sh 命令模式。它非常灵活,例如键入sh killall web;go run web.go
或运行 shell 脚本来运行它。
- 1 回答
- 0 关注
- 316 浏览
添加回答
举报
0/150
提交
取消