python信号处理程序在重载时反应缓慢

时间:2013-11-20 09:29:45

标签: python signals

我写了一个信号处理程序,可以通过以下方式重新启动脚本:

kill -10 $PID

我在脚本的开头注册了处理程序。

signal.signal(signal.SIGUSR1, restart_handler)

我的脚本主要做以下事情:

  • 下载一些源代码。
  • 解压缩它和其他东西。
  • 使用os.system(bash -c'make -j16> log.txt')

下载源代码时,我使用kill -10重新启动它, 它按照我的预期快速正常地运行处理程序。

然而,当它开始make -j16时,我使用相同的kill命令, 但需要等待很长时间才能到达信号处理程序。 (看起来信号没有立即处理,  但如果我使用kill -9 $PID,它可以立即被杀死)

如何使我的自定义信号处理程序可以像-9一样快速?

下面的图片是make -j16时的pstree输出: https://www.dropbox.com/s/rbfzn0p0f2p55xx/make.png

0 个答案:

没有答案