意外 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 超时的主要内容,如果未能解决你的问题,请参考以下文章

Linux中切换前后台命令:ctrl+z,bg,fg,jobs

cin与CTRL+z的问题

惹毛了老婆后,老王居然本能地想按Ctrl+Z...

MarkDown基础语法

办公软件office常用快捷键

在css中为啥将z-index设置为-1后,超链接无效了,请问该怎么办?