を実行した後、 + "grails run-app
を使用する以外は、シャットダウンするコマンドはありますか?CtrlC
9 に答える
サーバー停止の場合
ターミナルを終了し、以下のコマンドのいずれかを使用します。
grails exit
grails stop-app
grails quit
No. grails run-app
は、開発用にインタラクティブに実行することを目的としています。
Grails をサービスとして制御する場合は、Tomcat などの Web アプリケーション コンテナーにデプロイする必要があります。たとえば、Tomcat プラグインを使用すると、アプリを Tomcat に簡単にデプロイできます。のような行を追加します
tomcat.deploy.username="manager"
tomcat.deploy.password="secret"
tomcat.deploy.url="http://myserver.com/manager"
Config.groovyに追加すると、使用できます
grails tomcat deploy
grails tomcat undeploy
アプリケーションを開始および停止します。または、grails war
すべての Java アプリ サーバーが使用できる war アーカイブにアプリをバンドルするために使用できます。
grails run-app
本当になしで停止したい場合はCtrl+C、 を呼び出す小さなコントローラーを作成しますSystem.exit(0)
。wget
次に、その URL を参照するか、egまたはでそれを呼び出す小さなシェル スクリプトまたはバッチ ファイルを記述しますcurl
。
Grails 2.3.3 では、コマンド ラインで「grails dev run-app」を実行すると、コマンド ウィンドウが途方にくれたままになります。コマンド プロンプトは表示されず、Ctrl-C を押しても何も行われず、手動でプロセスを強制終了する必要があります。
次のように、意図された使用方法に従う方がはるかに快適です。
- コマンド ラインで、コマンド ' grails ' を入力し、Return キーを押します (パラメーターが指定されていないことに注意してください)。これにより、grails 自体が起動します (grails のみが起動します。つまり、サーバーやアプリは起動しません)。これにより、1 つの新しい Java プロセスが作成されます。また、grails プロンプトが表示されるので、引き続き制御できます。
1.1 grails プロンプトで、「run-app」と入力して、サーバー (およびアプリ) を起動できます。これにより、サーバーが (開発モードで) 起動され、再び grails プロンプトが表示されます。サーバーを実行すると、2 つの Java プロセスが実行されます。1 つは Grails 用で、もう 1 つはサーバーとアプリ用です。
1.2 サーバー (およびアプリ) を停止する場合は、grails プロンプトで「stop-app」と入力すると、サーバーとアプリが停止します。また、grails プロンプトが返されます。サーバー/アプリを停止すると、実行中の Java プロセスが 1 つだけ、つまり grails に戻ります。
1.3 grails プロンプトで、アプリを何度でも開始および停止できます。
1.4 grails 自体を停止するには、grails プロンプトで「exit」または「quit」と入力すると、grails が終了し、通常のコマンド プロンプトに戻ります。この時点で、grails の Java プロセスもなくなっているはずなので、Java プロセスが実行されていないはずです。
grails 2.3.x はすべてこのように動作すると思います。私のシステムはWindows 7です。
お役に立てれば。ノエル
Grails 2.1.0 では、単純な「終了」でサーバーが停止します。
Grails 2.0.1 でうまく動作する方法を見つけました。
これは、機能テストの実行後にサーバーをシャットダウンするために GrailsRun.groovy に入れられたハックを使用するハックです。(246行目参照)
.kill-run-app という名前のアプリケーション basedir にファイルを作成します。
Grails は .kill-run-app ファイルを見つけると、grailsServer.stop() を発行します。また、ファイルを便利に削除します。これは、autoRecompile がオンになっていることに依存する場合があります。これはハックだと言ったように、よくわかりません。
ある日、GrailsRun.groovy スクリプトが変更されたときに機能しなくなる可能性が高くなります。
これを行うために、単純な Ant ターゲットを作成しました。確かに、それを実行するには別の端末が必要になります (実際には Eclipse から実行しています)。
<target name="kill-app" description="--> Kills Grails web application" depends="">
<touch file="${basedir}/.kill-run-app"/>
</target>
簡単な方法は、Java プロセスを強制終了することです。
ps -aux | grep grails
kill 「アプリケーションへのコンテナーである上から ID を処理する」