在远程主机上重新加载管理引擎时出现问题



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

谢谢

苏丹

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

最新更新