停止 kill 命令

Stopping kill command

我有 ruby 个申请。
我的应用程序包含一些计划的工作,这些工作每 2 或 3 小时或更长时间连续进行一次。
我经常对应用程序进行更改,因此我必须终止该应用程序并重新运行它。
我一般遵循这3个步骤

ps -ef|grep rackup
kill -9 PID
rake run

因此,如果它们正在执行中,它的预定作业就会生效...
有什么方法可以停止 kill -9 命令直到作业完成(可能是一些锁或脚本)

您需要挽救 SystemExit 异常,或使用 trapat_exit 信号处理程序。 More info here.

无法捕获、阻止或忽略 SIGKILL(来自原始 POSIX.1-1990 标准,定义为整数值 9)。

您可能不想发送 SIGKILL,而是发送 SIGTERM(整数值 15),这样您就可以 trap it in your application.

在没有看到应用程序的实际代码的情况下,很难准确地告诉您应该如何做,但一个好的开始方法是在信号处理程序中设置一个变量,并在某个时候检查其状态在您的应用程序中,它可以 优雅地 终止。