停止 kill 命令
Stopping kill command
我有 ruby 个申请。
我的应用程序包含一些计划的工作,这些工作每 2 或 3 小时或更长时间连续进行一次。
我经常对应用程序进行更改,因此我必须终止该应用程序并重新运行它。
我一般遵循这3个步骤
ps -ef|grep rackup
kill -9 PID
rake run
因此,如果它们正在执行中,它的预定作业就会生效...
有什么方法可以停止 kill -9 命令直到作业完成(可能是一些锁或脚本)
您需要挽救 SystemExit
异常,或使用 trap
或 at_exit
信号处理程序。 More info here.
无法捕获、阻止或忽略 SIGKILL
(来自原始 POSIX.1-1990
标准,定义为整数值 9
)。
您可能不想发送 SIGKILL
,而是发送 SIGTERM
(整数值 15
),这样您就可以 trap it in your application.
在没有看到应用程序的实际代码的情况下,很难准确地告诉您应该如何做,但一个好的开始方法是在信号处理程序中设置一个变量,并在某个时候检查其状态在您的应用程序中,它可以 优雅地 终止。
我有 ruby 个申请。
我的应用程序包含一些计划的工作,这些工作每 2 或 3 小时或更长时间连续进行一次。
我经常对应用程序进行更改,因此我必须终止该应用程序并重新运行它。
我一般遵循这3个步骤
ps -ef|grep rackup
kill -9 PID
rake run
因此,如果它们正在执行中,它的预定作业就会生效...
有什么方法可以停止 kill -9 命令直到作业完成(可能是一些锁或脚本)
您需要挽救 SystemExit
异常,或使用 trap
或 at_exit
信号处理程序。 More info here.
无法捕获、阻止或忽略 SIGKILL
(来自原始 POSIX.1-1990
标准,定义为整数值 9
)。
您可能不想发送 SIGKILL
,而是发送 SIGTERM
(整数值 15
),这样您就可以 trap it in your application.
在没有看到应用程序的实际代码的情况下,很难准确地告诉您应该如何做,但一个好的开始方法是在信号处理程序中设置一个变量,并在某个时候检查其状态在您的应用程序中,它可以 优雅地 终止。