意外 ctrl + Z 后 localhost 超时
Posted
技术标签:
【中文标题】意外 ctrl + Z 后 localhost 超时【英文标题】:localhost times out after accidental ctrl + Z 【发布时间】:2018-05-09 12:30:03 【问题描述】:我目前正在 Codeanywhere 上创建一个与后端 API/服务器通信的网站。我使用 8080(前端)和 8081(服务器)上的端口运行 server.js 节点脚本。但是,我通常使用 Ctrl + C 关闭连接,但我不小心使用了 Ctrl + Z 关闭服务器,此后我无法再次运行它。由于我不小心使用了 Ctrl + Z 并在执行任何其他操作之前关闭了 codeanywhere 上的选项卡,因为害怕损坏我在 codeanywhere 上的本地主机,当我运行脚本时将无法连接,而是花费了太长时间和超时。我迫切需要一个解决方案,因为这是一个大学模块。
【问题讨论】:
【参考方案1】:您需要终止 node
进程。通过执行Ctrl Z
,您只是将其挂起,而不会释放其锁定的资源(例如您正在侦听的 TCP 端口)。
如果没有其他 Node.js 进程正在运行并且killall
可用,您可以轻松地执行killall node
然后重新启动服务器。否则使用任何工具杀死node
进程。
【讨论】:
如何使用 killall 命令?即使我按下 CTRL + Z 然后关闭选项卡并在任何地方重新打开代码,它会起作用吗?我可以很好地运行服务器节点脚本,但正如我所提到的,当我在事件发生后尝试运行它时,它只是挂起并且我得到一个连接超时错误,即使在它正常工作之前也是如此。 是的,如果终端在同一个容器上,它应该。在最坏的情况下,您可以重新启动容器。 我刚刚重新启动了容器,但同样的情况,它尝试连接然后给出错误。它似乎也没有运行,因为使用 killall 不起作用【参考方案2】:按 Ctrl+z 不会停止您的应用程序,它会将其发送到后台。我不会将它描述为处于运行状态,但它之前使用的资源(例如端口)仍然绑定到它。
您的应用程序超时,因为您试图启动另一个与暂停的实例共享相同资源(端口)的实例。
要修复,请在终端中键入 fg,它应该会恢复您的应用程序。
我知道很久以前有人问过这个问题,但谁知道这个答案可能对谁有帮助。
【讨论】:
以上是关于意外 ctrl + Z 后 localhost 超时的主要内容,如果未能解决你的问题,请参考以下文章