如何使用Fabric

时间:2017-02-26 20:28:24

标签: mysql fabric

如何使用Fabric启动流程?

我正在尝试编写一个重置MySQL密码的任务,这需要我使用以下命令启动mysqld_safe守护程序:

sudo bash -c "mkdir -p /var/run/mysqld; chown mysql /var/run/mysqld; mysqld_safe --skip-grant-tables &"

当我在服务器上手动运行时,ps aux|grep -i mysql显示它运行正常,但当我使用Fabric sudo()运行时,它似乎立即终止。我做错了什么?

我也尝试使用nohup,如:

sudo bash -c "mkdir -p /var/run/mysqld; chown mysql /var/run/mysqld; nohup mysqld_safe --skip-grant-tables &"

但这没有效果。

1 个答案:

答案 0 :(得分:0)

http://www.fabfile.org/faq.html#why-can-t-i-run-programs-in-the-background-with-it-makes-fabric-hang对这就是为什么有一个非常明确的解释。还提出了解决方案。

在您的情况下,您应该安装dtach并运行:

sudo(dtach -n `mktemp -u /tmp/{0}.XXXX` {1}'.format(some_name, cmd_to_execute))

你可以在开头btw中删除“sudo bash”。