2017-02-26 10 views
1

Fabricを使用してプロセスを開始するにはどうすればよいですか?ファブリックでプロセスを起動する方法

私は、私が使用してmysqld_safeデーモンを起動する必要と、MySQLのパスワードをリセットするタスクを記述しようとしている:私は、サーバー上で手動でこれを実行すると、ps aux|grep -i mysqlはそれがうまく動いている示し

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

が、 Fabricのsudo()を使ってこれを実行すると、ほとんど直ちに終了するように見えます。私は間違って何をしていますか?

私も同じようnohupを使用して試してみた:

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

が、それは効果がなかったです。

答えて

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)) 

あなたはところで冒頭で「sudoのbashを」をドロップすることができます。

関連する問題