【问题标题】:terminate simple python server wont shut down with ctrl + C终止简单的 python 服务器不会用 ctrl + C 关闭
【发布时间】:2013-11-14 10:35:58
【问题描述】:

我使用

运行了一个简单的 Web 服务器
python -m simpleHTTPServer 8888 &.

它开始很好。然后使用 ctrl+C 尝试终止它,然后我转到

http://localhost:8888/ 

并且服务器仍在运行。我做错了吗?

我用zsh做终端,不知道有没有关系。

【问题讨论】:

    标签: python terminal zsh simplehttpserver


    【解决方案1】:

    TLDR:如果发送SIGKILL 不起作用,作为最后的手段尝试killall python

    我遇到了一个类似的问题,即使我给它一个SIGKILL,localhost 服务器也会简单地更改为另一个 pid。唯一对我有用,并且可能会作为其他任何人遇到这种情况的最后手段的唯一方法就是简单地在 bash 中运行:killall python

    【讨论】:

      【解决方案2】:

      因为&。它现在是一个后台进程,你不能通过 ctrl+c 杀死它。

      因为它是服务器,我建议你使用&。要关闭服务器,请执行 -> ps aux | grep simpleHTTPServer 查找进程 id 然后 kill -9 pid

      【讨论】:

      • 这样做会给我 501 5200 1141 0 2:42PM ttys002 0:00.00 grep simpleHTTPServer。 “501 5200 1141 0”是否所有单独的处理都在运行?
      • 已更新。使用 ps aux 而不是 ps -ef。第一个数字是 pid。你也应该在输出中寻找你的命令。现在看起来服务器已经被杀死了。当您执行 grep 时,该命令也是 ps aux 输出中列出的过程的一部分(您现在就是这种情况)。
      【解决方案3】:

      这是因为& 导致命令在后台运行。启动进程后,您将获得进程 ID。使用该 ID,您可以kill 进程:

      $ python &
      [1] 5050
      $ kill -15 5050
      [1]+  Angehalten              python
      

      如果发送SIGTERM 信号(-15)不起作用,您可以使用SIGKILL-9)。

      编辑为使用SIGTERM 而不是SIGKILL,请参阅@starrify 的评论。

      【讨论】:

      • ..+1ed 然后取消。我们不能先试试像 SIGTERM 这样的软的东西吗? SIGKILL 在某种程度上是粗暴的,尽管在这种情况下它可能完全没问题。
      • 不是也可以fg进入python然后ctrl-c吗?
      【解决方案4】:

      我不知道你是否需要&.。然而,在大多数 shell(当然包括 zsh)中,符号 & 表示 to start this task in the background,这意味着您的 CTRL+C 实际上没有被应用程序接收。

      尝试删除&.,看看会发生什么。

      已编辑:请参阅@RobinKrahl 的回答,了解如何通过使用kill 向它发送信号来终止进程。但是,为了终止一个正常工作的进程,我建议使用SIGTERM(信号编号 15)而不是 SIGKILL(信号编号 9)。

      【讨论】:

        【解决方案5】:

        CTRL+C 发送SIGINT。您应该使用kill -9 pid 发送终止信号来终止进程

        【讨论】:

        • -1 因为实际上没有 SIGINT 发送到 OP 的进程。
        • zomg!对不起,我应该仔细阅读,我什至没有看到语句末尾的微小 &。道歉
        • 很抱歉,StackOverflow 阻止我取消反对票>_
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-08
        • 1970-01-01
        • 2019-08-16
        相关资源
        最近更新 更多