我有一个 Jenkins 工作,它通过来自 Windows 从站的 SSH 在集群上启动一个 python 程序。该程序有一个清理步骤,通过 python finally 语句触发任何类型的异常。我希望在通过 Jenkins Web 界面中止作业时运行此清理步骤,但 Jenkins 似乎强行终止此过程而不让它运行 finally 语句。根据https://wiki.jenkins.io/display/JENKINS/Aborting+a+build ,进程通过 Windows 中的 TerminateProcess API 终止。
有没有办法让詹金斯简单地中断一个子进程并等待它完成?