python - 结构非零返回代码 137

标签 python linux celery fabric

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

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").

最佳答案

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

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

关于python - 结构非零返回代码 137,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38081313/

相关文章:

c - 如何以编程方式检测 linux 中大写锁定的状态

python - 如何将 Django 对象发送到 celery 任务?

python - 使用 virtualenv 的 Celery 的第一步

django - 通过任务 : DatabaseWrapper objects created in a thread can only be used in that same thread 执行数据库查询时,celery 出现 django 错误

python - 计算python数组中每5个元素的总和

c - fsync() 跨数据 block 的原子性

python - 进入python或ipython解释器时自动导入模块

linux - 如何查找所有以/filesystem开头的文件系统

python - 如何将具有 Etc/GMT 的日期字符串转换为 Python 日期时间?

python - 使用 App Engine oauth 服务