【问题标题】:Stop all processes in Pycharm停止 Pycharm 中的所有进程
【发布时间】:2019-11-30 03:58:53
【问题描述】:

我有一个 Python 程序,我在 Windows 10 上的 PyCharm(PyCharm 2018.3.4(社区版))中开发。

我的主进程使用multiprocessing.Process 启动一个新进程。但是,当我在 pycharm 中使用“停止”按钮时,python 一直在后台运行(我猜 muliprocessing.Process 永远不会被杀死),消耗我的 CPU 和内存。我有办法解决这个问题吗?

【问题讨论】:

  • 您是否尝试过按 ctrl+c 而不是停止按钮?这应该允许游泳池自行清理......

标签: python pycharm


【解决方案1】:

你能解释一下下面的问题是什么吗?

proc = multiprocessing.Process(target=process)
proc.start()
proc.join(timeout=5)
proc.terminate()

另一种解决方案 使用

from multiprocessing import Process, Manager, Value
manager = Manager()
x = manager.Value('i', 0)

用于在进程之间共享值,

一旦某个进程将值 0 更改为 1,就激活

proc.join(timeout=5)
proc.terminate()

【讨论】:

  • 不多,但是我的应用程序在“proc.start()”之后启动了一个 tk GUI 循环。因此,当我按下停止按钮时,永远不会到达 proc.join。
猜你喜欢
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多