0

我的项目托管在 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,我这样做的方式有什么问题?

谢谢,

苏丹

4

1 回答 1

0

您可以通过使用pkillpgrep查找 pid 来更简单地解决这个问题。但是,如果这就是您所做的全部,我会说使用该-j|--pidfile=选项,这样您就不必通过流程输出查找它。

于 2012-09-24T06:07:48.480 回答