【发布时间】:2012-03-14 11:14:51
【问题描述】:
我有一个系统,用于运行在其他几个客户端系统上执行测试用例的结构脚本。(通过 launch_process.sh)
@task
@hosts('controller')
def run_script():
run('/test/launch_process.sh')
#below line didn't work
check_ps()
@task
@hosts('clients')
def check_ps():
run('ps aux | grep myprocess')
当我们这样做时 fab run_script
它在其他机器上启动进程(假设 machine2,machine3) 现在我想使用“ps”命令来确认进程是否运行。 但是 check_ps() 在“控制器”本身上运行,而不是在客户端上运行。
关于如何实现这一点的任何想法?
(寻找解决方案,不使用passwdless登录和popen或paramiko)
【问题讨论】:
-
为什么你对@hosts() 有不同的参数?
-
在这里看看你的答案:stackoverflow.com/questions/5346135/…