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

2024-05-05 00:58:33 发布

您现在位置:Python中文网/ 问答频道 /正文

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

kill -10 $PID

我在脚本的开头注册了处理程序。你知道吗

signal.signal(signal.SIGUSR1, restart_handler)

我的剧本主要做以下几件事:

  • 下载一些源代码。你知道吗
  • 解压它和其他东西。你知道吗
  • 使用操作系统(bash-c'make-j16>;日志.txt')

下载源代码时,我使用kill -10重新启动它, 它像我期望的那样快速而正常地运行处理程序。你知道吗

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

如何使我的定制信号处理程序能够像-9一样快速地工作?你知道吗

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


Tags: 程序脚本处理程序makesignal源代码方式pid