Bash 使用sigterm终止进程,并在超时后升级到sigkill

Bash 使用sigterm终止进程,并在超时后升级到sigkill,bash,sigkill,sigterm,Bash,Sigkill,Sigterm,有没有一种方法可以将进程标记为超时?如果进程未在30分钟内正常终止,则进程应获得sigkill。理想情况下,这种优雅的关闭应该在后台执行。有一个,它允许您限制进程的执行时间,并在它没有及时响应初始信号(默认情况下为SIGTERM)时升级为SIGKILL。这不是你想要的,但可能已经足够了 要做你实际描述的事情(发送信号,短暂等待,然后发送杀戮),你可能需要自己做一些簿记,作为细节 一种选择是使用(或者我想象其他服务管理器),它提供了一个满足您需要的服务 另一方面,许多系统将30分钟视为等待信号的

有没有一种方法可以将进程标记为超时?如果进程未在30分钟内正常终止,则进程应获得sigkill。理想情况下,这种优雅的关闭应该在后台执行。

有一个,它允许您限制进程的执行时间,并在它没有及时响应初始信号(默认情况下为SIGTERM)时升级为SIGKILL。这不是你想要的,但可能已经足够了

要做你实际描述的事情(发送信号,短暂等待,然后发送杀戮),你可能需要自己做一些簿记,作为细节

一种选择是使用(或者我想象其他服务管理器),它提供了一个满足您需要的服务



另一方面,许多系统将30分钟视为等待信号的时间过长。例如,Linux做了一些类似于您在关机时描述的事情,但在杀死进程之前,只给进程几秒钟的清理和退出时间。对于其他用例,您当然可以使用您描述的长寿命终止(例如使用Upstart),但YMMV。

非常感谢。我一定会研究你的建议!