我在面料中有以下任务,旨在在紧急情况下强行杀死所有芹菜工人
def brute_kill_cel_workers():
with settings(sudo_user="operatore"):
sudo("sudo ps aux|grep 'celery worker'|awk '{print $2}'|xargs sudo kill -9")
失败了
Fatal error: sudo() received nonzero return code 137 while executing!
这是为什么? commnd本身在ssh shell中工作正常,因为用户" operatore"在服务器上。或者至少我怎样才能让织物给我一些更多的信息......
我还尝试了sudo("ps aux|grep 'celery worker'|awk '{print $2}'|xargs kill -9")
和run("sudo ps aux|grep 'celery worker'|awk '{print $2}'|xargs sudo kill -9")
。
答案 0 :(得分:1)
当您使用SIGKILL(kill -9)杀死Celery时,您将获得返回码:128 + 9(请参阅this list of exit codes)。
如果在使用ssh运行该命令时检查返回代码,您将看到代码相同,但只是没有处理:执行echo $?
时(显示最后一个命令的退出代码)用ssh执行命令行后,你也会得到137。