24

を介して Django アプリケーションを実行する方法を見つけましたsudo python /home/david/myproject/manage.py runserver 68.164.125.221:80。ただし、ターミナルを終了すると、サーバーの実行が停止します。

このプロセスをバックグラウンドで実行しようとしましたが、実行後すぐにサーバーがシャットダウンしますsudo python /home/david/myproject/manage.py runserver 68.164.125.221:80 &

ターミナルで ssh セッションを終了した後でも Django アプリケーションを実行し続けるにはどうすればよいですか?

PS - この質問が初歩的である場合は申し訳ありません。このような愚かさは、フロントエンドの JavaScript プログラマーが猛スピードでサーバー管理者にならなければならない場合に起こります。

4

3 に答える 3

32

ミーティング画面

ssh 経由で接続し、画面を開始します。これにより、ssh によって提供されるものの上に仮想コンソール エミュレーターが開きます。そこでサーバーを起動します。

次に、Ctrl-a を押してから d を押します。これにより、screen セッションが切り離され、バックグラウンドで実行されたままになります。

[R]e-attach するには、screen -r を使用します。

screen がインストールされておらず、インストールできない場合は、試したようにコマンドに & を追加して、バックグラウンドでアプリケーションを起動することもできます。ただし、端末ウィンドウを閉じないでください。bash コマンドの終了または Ctrl-d を使用して、切断するだけです。

screen の利点は、エラーなどが発生した場合でもサーバーからの出力を読み取ることができることです。

Screen は非常に強力なツールであり、さらに多くのコマンドがあります。Ctrl-a、次に c (Create) で新しい仮想ウィンドウを追加できます。Ctrl-a でウィンドウを切り替え、次に n (次へ) または p (前へ)...

ただし、使用するにはインストールが必要です。あなたは root アクセス権を持っているように見えるので、これは問題にはなりません。

編集: tmuxは、同じユースケースの別の優れたソリューションです。

于 2012-05-18T16:19:24.523 に答える