结构非零 return 代码 137

Fabric nonzero return code 137

我在 fabric 中有以下任务,旨在在紧急情况下暴力杀死所有 celery worker

def brute_kill_cel_workers():
    with settings(sudo_user="operatore"):
       sudo("sudo ps aux|grep 'celery worker'|awk '{print }'|xargs sudo kill -9")

它失败了

Fatal error: sudo() received nonzero return code 137 while executing!

这是为什么?命令本身在服务器上作为用户 "operatore" 的 ssh shell 运行良好。或者至少我怎样才能得到织物来给我更多的信息来使用...

我也试过 sudo("ps aux|grep 'celery worker'|awk '{print }'|xargs kill -9")run("sudo ps aux|grep 'celery worker'|awk '{print }'|xargs sudo kill -9")

当您使用 SIGKILL (kill -9) 杀死 Celery 时,您会得到 return 代码:128 + 9(参见 this list of exit codes)。

如果您在使用 ssh 运行 该命令时检查 return 代码,您会发现代码是相同的,但只是未被处理:当您执行 echo $? (它显示了最后一个命令的退出代码)用ssh执行命令行后,你也会得到137。