【问题标题】:Long Running Python Script in VSCode Exits with 'Polite quit request'VSCode 中长时间运行的 Python 脚本以“礼貌退出请求”退出
【发布时间】:2019-11-07 15:16:12
【问题描述】:

我有一个长期运行的 Python 脚本,它在 Visual Studio Code 中运行。

一段时间后脚本停止运行,仅此语句没有错误:

“fish: “/usr/bin/python3 /home/ubuntu/....” 被信号 SIGTERM 终止(礼貌退出请求)”

这里发生了什么?

【问题讨论】:

    标签: python-3.x visual-studio-code


    【解决方案1】:

    如果某个进程收到 SIGTERM,则其他进程会发送该信号。这就是你的情况。

    SIGTERM 信号被发送到进程以请求其终止。与 SIGKILL 信号不同,它可以被进程捕获、解释或忽略。这允许进程执行良好的终止释放资源并在适当的情况下保存状态。 SIGINT 几乎与 SIGTERM 相同。

    SIGTERM 不是系统自动发送的。有一些信号会在终端消失时自动发送,例如 SIGHUP,当进程执行不应执行的操作时会自动发送 SIGSEGV/SIGBUS/SIGILL,当进程写入损坏的管道/套接字时会自动发送 SIGPIPE,等等。

    SIGTERM 是通常用于以管理方式终止进程的信号。

    这不是内核会发送的信号,而是进程通常会发送的信号以终止(优雅地)另一个进程。默认由killpkillkillallfuser -k 命令发送。

    您的进程收到此类信号的可能原因是:

    • 进程执行时间过长
    • 内存或系统资源不足,无法继续执行进程

    但这些是一些可能性。在您的情况下,问题的根源可能与不同的东西有关。您可以通过告诉进程忽略信号来避免 SIGTERM 信号,但不建议这样做。

    请参阅此link 了解更多信息。

    查看this类似问题以获取更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-16
      • 2017-10-31
      • 2017-03-04
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      相关资源
      最近更新 更多