- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Tkinter GUI 运行两个线程,GUI 的主要线程和工作线程。工作线程使用以下代码创建子进程:
myProcess = subprocess.Popen(['python', '-u', 'runTests.py'],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
文件 runTests.py 进行一些设置,然后使用以下命令运行单元测试文件:
execfile('myUnitTests.py')
文件 myUnitTests.py 有几个单元测试,其中一些需要五分钟以上的时间才能运行。在 GUI 中,我单击一个按钮来停止运行测试。这反过来又使工作线程发送信号来停止子进程:
myProcess.terminate()
终止命令不会立即停止进程,而是等到当前单元测试运行完毕后才终止进程?我尝试过使用 os.kill,但得到与 Terminate() 相同的结果。
知道如何使我的程序响应更快,以便它立即终止子进程吗?
最佳答案
Python 文档 [ http://docs.python.org/library/signal.html ] 说:
- Although Python signal handlers are called asynchronously as far as the Python user is concerned, they can only occur between the “atomic” instructions of the Python interpreter. This means that signals arriving during long calculations implemented purely in C (such as regular expression matches on large bodies of text) may be delayed for an arbitrary amount of time.
因此,如果您的五分钟单元测试正在执行“纯粹用 C 实现的长计算”,并且您的单元测试工具安装了 SIGTERM
的处理程序,那么这就是您的问题。如果是这样,请尝试使用 myProcess.kill
而不是 myProcess.terminate
(或者,如果您还没有 2.6,则使用 myProcess.send_signal(9)
)。 SIGKILL
无法从用户空间捕获,并且应该立即生效。
警告:任何应该在单元测试框架之外运行的清理操作都不会被执行。
关于python - 如何立即停止正在运行单元测试的 python 子进程?终止并杀死不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3302910/
需要帮助将这些给定的数字打印成星号,但我是编程新手;我该怎么做? #include int main(void) { int a[5]={20,1,5,15,12}; int i=0
使用 Delphi XE 2 我试图确定缩放方向以将缩放效果应用于图像(TImage),但没有找到执行此操作的函数,并且图像的 OnGesture 事件中的 EventInfo 属性没有此信息. 我见
我不知道制服在内存中是如何表示的。 制服似乎会占用宝贵的寄存器空间,但它们最终会传入/通过/传出到全局内存中,对吗? 制服不用时情况会发生变化吗?编译器可以将它们优化掉吗?--在这种情况下,我已经将无
我正在尝试在名为“timeclock”的模型上记录“time_in”和“time_out”记录。这是我想做但无法开始工作的事情! 检查最后一个时钟条目,看看它是否同时填充了“time_in”和“tim
我想听听您如何解决这种编程任务!?每种类型(OPER = 1 类型)对应一种特定的信息。 这只是大约 10 个具有相同结构的规范之一。首选创建这些“转换器”(协议(protocol))的通用方法。 最
我正在使用 Rest API(NodeJS、Express)和 PostgreSQL 制作 React-Native 应用。 在我的本地机器上托管时一切正常。当 API 托管在我的机器上并且 Post
我是一名优秀的程序员,十分优秀!