2013-01-30 12 views
22

私はDjangoコマンド 'python manage.py run_gunicorn'でガンコーンを起動しています。ガンコンを止めるにはどうすればいいですか?ガンコンを正しく停止する方法

注:私はファブリックを使用した半自動サーバー配置を使用しています。従って、ps aux | grep gunicornのようなものを使って、手作業でpidでプロセスを終了させることはできません。

答えて

13

1つのオプションは、Supervisorを使用してGunicornを管理することです。

もう一度私はFabric経由でプロセスを強制終了できない理由は分かりません。 あなたはGunicornにを知らせ、Fabricコマンドで簡単にそのファイルを読むことができると仮定します。

run("kill `cat /path/to/your/file/gunicorn.pid`") 
+0

スーパーバイザー提案の場合は+1、ファブリック提案の場合は+1 = +1。あなたが布でそれをすることができるということは、あなたがすべきことを意味するものではありません!(「適切な」要件を考慮して) – rantanplan

+0

Fabricソリューションは何が悪いですか?このメソッドを使用するいくつかのファブファイル([このような](https://github.com/jarus/fabric-gunicorn/blob/master/fabric_gunicorn.py#L94))を見てきました。または、Gunicornを素早く再起動するために 'kill -HUP'を実行します。 私は主にFabricソリューションについて言及しましたが、OPがファブリックで*半自動化されたサーバー配置で 'kill 'のようなコマンドをラップすることはできないとの印象を受けました。 – arie

+0

あなたのプロジェクトの展開やブートストラップ以外のものとして、ファブリックを使用することは無駄になります。だから私たちはスーパーバイザーのようなinitスクリプトとプログラムを持っています。そして、私は生地を愛し、それを大きく使う人としてそれを言う。 – rantanplan

41

は、プロセスを確認するにはps ax|grep gunicornで、pkill gunicornあるgunicorn_django停止するには:このような

何かが動作するはずです。

+2

私が質問したように、これはオプション(自動展開)ではありません。 – j7nn7k

+1

これはどこにでも見えました、ありがとうございました。 – idik

+0

この後も 'ps ax | grep gunicorn'を実行すると、1つのプロセスを実行することができます。どうして? –

関連する問題