webserver - TortoiseHg Web 服务器说它已停止,尽管它仍在运行

标签 webserver tortoisehg

当我右键单击我的 Hg 文件夹并选择 TortoiseHg> Web 服务器时,我可以毫无问题地在端口 7999 上启动 Web 服务器。然后我关闭了该对话框。如果我从命令提示符处运行 netstat -a -o,我可以看到 thgw.exe 的实例正在运行并监听端口 7999(即使在关闭之后)对话框)。具有讽刺意味的是,在任务管理器中,thgw.exe 进程被称为“TortoiseHg GUI tools for Mercurial SCM”,即使没有运行任何 GUI。

问题

如果我通过 TortoiseHg> WebServer 再次打开该对话框,它会报告状态为“已停止”,并且开始按钮已启用。这是不正确的,因为端口仍在监听。如果我单击开始按钮,我会按照预期在日志中收到此消息:

abort: cannot start server at ':7999': Only one usage of each socket address (protocol/network address/port) is normally permitted

问题

  1. 那么为什么 TortoiseHg 没有意识到现有的 thgw.exe 正在端口上运行?

  2. 除了 netstat 和任务管理器之外,还有更好的方法来检查 TortoiseHg 是否正在监听 Web 端口吗?还可以了解哪个端口代表哪个文件夹?

  3. 我无法停止 Web 服务器,那么如何在不从任务管理器中终止 TortoiseHg Web 服务器的情况下正常关闭它?这对我的生产源代码控制系统来说似乎是一件可怕的事情!

最佳答案

当单击服务窗口的关闭按钮时,窗口实际上并没有关闭,而是最小化到通知区域中。请参阅下面屏幕截图中的地球图标:

Serve window icon in the notification area

如果单击该图标,则会出现原始的服务窗口,其中开始按钮实际上已禁用,而停止按钮已启用。您可以从那里停止服务器。

此行为已在 TortoiseHg 2.4、Windows 7 上进行测试。

我在这里看到的唯一问题是,当您选择适当的菜单项时,原始窗口不会打开。

另请参阅issue 1845在 TortoiseHg 错误跟踪器上。

关于webserver - TortoiseHg Web 服务器说它已停止,尽管它仍在运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10858437/

相关文章:

webserver - 转到网络服务器 : cannot find anything on http://localhost:8080/handler

php - 即使可能重定向到维护页面,如何测试远程服务器是否因维护而停机?

javascript - Electron JS : avoiding cross-origin issues

mercurial - 如何使用草龟hg "that are part of the repository"忽略窑炉/ Mercurial 中的文件

mercurial - 在分支中应用补丁

eclipse - 为什么 Mercurial 子存​​储库在 Eclipse 和 torotoiseHG 中表现为未版本控制的文件

mercurial - 如何嫁接草龟

content-management-system - 带有 Joomla 的 Intranet 网站?

linux - apachectl start 找不到 httpd 但它在那里?

mercurial - 提交后添加到 Mercurial 中的重命名跟踪