【发布时间】:2012-09-23 04:24:53
【问题描述】:
我的项目托管在 Webfaction 上,主管用于了解流程。 我使用 shell utils 来获取主管的 PID,当我手动执行它时它工作得很好,但是当我使用 Fabric 远程执行相同的命令时,我得到了随机的 PID
获取主管PID的代码
spid = run('ps auxw | grep supervisord | grep %s | tr -s \' \' | cut -d\ -f 2' % USER)
if spid: # if supervisor is running and PID is found
run('kill %s' % spid) # kill supervidor daemon
我很困惑为什么我在远程调用命令时得到随机 PID,我这样做的方式有什么问题?
谢谢,
苏丹
【问题讨论】:
-
“随机” pid 是什么样的?会不会是被杀死的进程的 PID?
-
如果主管没有运行,上述命令将返回 None,所以我的情况是,当使用 Fabric 远程执行命令时,我的 PID 错误,但如果我手动检查相同的命令,我得到了正确的 PID
标签: python django fabric supervisord webfaction