Dopo l'esecuzione di "grails run-app", eccetto l'utilizzo di "Ctrl + C", esiste un comando per arrestarlo?Come utilizzare il comando per arrestare grails run-app
risposta
n. grails run-app
è progettato per lo sviluppo, in modo interattivo.
Se si desidera controllare grails come servizio, è necessario distribuirlo in un contenitore di applicazioni Web come tomcat. Il plugin tomcat ti consente di distribuire facilmente la tua app su tomcat, ad esempio. Aggiungere le linee come
tomcat.deploy.username="manager"
tomcat.deploy.password="secret"
tomcat.deploy.url="http://myserver.com/manager"
a Config.groovy e quindi è possibile utilizzare
grails tomcat deploy
grails tomcat undeploy
per avviare e interrompere la vostra applicazione. In alternativa, è possibile utilizzare grails war
per raggruppare l'app in un archivio di guerra che tutti i server di app java dovrebbero essere in grado di utilizzare.
Se davvero si vuole fermare grails run-app
senza Ctrl + C, scrivere un piccolo controller che chiama System.exit(0)
. Quindi vai a quell'URL o scrivi un piccolo script di shell o un file batch che lo richiama con ad es. wget
o curl
.
modo rapido è quello di uccidere il processo java:
ps -aux | grep grails
kill "ID proess dall'alto che è contenitore per l'applicazione"
ho trovato un modo pulito che funziona su Grails 2.0.1 me.
Questo è un hack che utilizza un hack inserito in GrailsRun.groovy per arrestare i server dopo aver eseguito test funzionali. (Vedi linea 246)
Creare un file nella basedir applicazione denominata .kill-run-app
Quando Grails vede il file .kill-run-app, emette un grailsServer.stop(). Elimina inoltre comodamente il file. Questo può dipendere dall'avere autoRecompile. Non sono sicuro, come ho detto questo è un trucco.
Un giorno molto probabilmente smetterà di funzionare quando lo script GrailsRun.groovy viene modificato.
Ho creato un semplice target Ant per farlo. Certo, avrai bisogno di un altro terminale per eseguirlo (in realtà lo eseguo da Eclipse).
<target name="kill-app" description="--> Kills Grails web application" depends="">
<touch file="${basedir}/.kill-run-app"/>
</target>
In Grails 2.1.0, un semplice "uscita" si ferma il server
Sono nuovo di Grails e ho anche avuto questo "problema". Ho scritto un piccolo script (chiamato grill ;-)) che uccide tutti i processi di graal.
#!/bin/bash
for P in $(ps aux | grep grails | grep java | awk '{print $2};'); do
kill -9 $P
done
exit 0
per l'arresto del server:
Uscita dal terminale e utilizzare uno qualsiasi dal basso comando
- graal uscire
- graal stop-app
- graal smettere
Ciao diluito, i comandi sopra non funzionano in Grails 2.1.1 – Halil
'grails stop-app' funziona su Grails 3 – GreenGiant
in Grails 2.3.3, l'esecuzione di 'grails dev run-app' nella riga di comando lascia la finestra di comando in un tipo di limbo. Non ti restituisce il prompt dei comandi, Ctrl-C non fa nulla e devi tornare a uccidere i processi a mano.
E 'molto più piacevole da seguire l'uso previsto, come segue:
- Nella riga di comando, immettere il comando 'graal' e premete Invio (informazione parametri sono dati). Ciò avvia grails stesso (e solo grails, cioè non avvia il tuo server o app). Ciò si traduce in un nuovo processo java. Ti restituisce anche il prompt Grails, quindi hai ancora il controllo.
1,1 Alle graal del prompt, è possibile avviare il server (e app), digitando 'run-app'. Questo avvia il tuo server (in modalità dev) e ti restituisce nuovamente il prompt Grails. Con il server in esecuzione, ora sono in esecuzione due processi Java, uno per i grails e l'altro per il server e l'app.
1.2 Se si desidera interrompere il server (e l'app), è possibile, al prompt Grails, immettere 'stop-app', che interromperà il server e l'app. Inoltre, tieni indietro il tuo graal. Dopo aver fermato il tuo server/app, tornerai ad avere solo un processo Java in esecuzione, cioè i graal.
1.3 Al prompt Grails, è possibile avviare e arrestare l'app tutte le volte che lo si desidera.
1.4 Per arrestare graal per sé, ai graal pronta, è possibile immettere 'uscita' o 'quit', e poi si chiuderà graal, e si lascia indietro con il prompt dei comandi normale. A questo punto, anche il processo java di Grails dovrebbe essere eliminato, quindi non dovrebbero esserci processi java in esecuzione.
Credo che tutti i grails 2.3.x si comportino così. Il mio sistema è Windows 7.
Spero che questo aiuti. Noel
Funziona anche su Mac OSX, grazie !! – nickromano
Aprire una nuova finestra riga di comando, passare alla directory del progetto e digitare:
graal fermano-app
Questo fermerà l'applicazione se è in esecuzione in modalità biforcuta. È quindi possibile andare allo stesso URL e vedere che la pagina non verrà visualizzata, vale a dire, il server è stato arrestato in quanto verrà specificato anche quando viene eseguito il comando.
-
graal uscire
Questo fermerà l'applicazione se in esecuzione in modalità non biforcuta, altrimenti chiudere la console
-
graal smettere
Esce dalla console.
Ho avuto lo stesso problema per arrestare il mio server in esecuzione Grails. Ho fatto
- ps aux | graal grep -> che mi ha dato l'uccidere PID
- -9 PID
In questo modo sono stato in grado di fermare il mio server in esecuzione. Spero possa aiutare.
- 1. unico comando per arrestare e rimuovere il contenitore docker
- 2. Come arrestare/annullare il comando 'git log' nel terminale?
- 3. Come utilizzare il comando merge
- 4. Grails: oggetti comando nidificati
- 5. configurare l'app Grails per utilizzare il pool di connessioni JDBC
- 6. Esiste un comando per arrestare l'interprete in Common Lisp?
- 7. Come arrestare correttamente un programma da riga di comando java
- 8. Come arrestare JBoss AS 7.1.0 dalla riga di comando?
- 9. Come arrestare correttamente gunicorn
- 10. Come arrestare il server RabbitMQ su localhost
- 11. Come utilizzare il comando gitignore in git
- 12. Come arrestare il timer durante il debug
- 13. Come utilizzare Grails dataSource in resources.groovy?
- 14. Grails: come utilizzare createLink in un filtro?
- 15. Come arrestare un'applicazione dall'apertura
- 16. Come avere grails run-app utilizzare HTTPS di default (senza l'opzione della riga di comando -https)
- 17. Grails si blocca sulla riga di comando
- 18. Come arrestare il chrome dalla cache
- 19. Il modo migliore per arrestare con garbo un programma da riga di comando Java
- 20. Qual è il modo migliore per avviare e arrestare l'ecosistema hadoop, con la riga di comando?
- 21. Come arrestare/chiudere il servizio SignalR
- 22. Come arrestare il server mongodb su Windows?
- 23. grails validate oggetto comando nidificato non funzionante
- 24. Come posso uscire (arrestare) il mio Dispatcher?
- 25. Come arrestare il codice VBA in esecuzione?
- 26. Oggetto comando Grails: come caricare request.JSON in esso?
- 27. Come arrestare correttamente BackgroundWorker
- 28. Come arrestare IIS con PowerShell?
- 29. come si fa avviare/arrestare i servizi utilizzando il comando net stop in C#
- 30. Arrestare un tomcat dell'applicazione Web dalla riga di comando
Se si esegue il percorso di un'azione del controllore accessibile tramite Web per terminare l'applicazione, assicurarsi di rimuoverlo prima della distribuzione in produzione o di proteggerlo in modo che gli utenti malintenzionati non possano semplicemente uccidere l'app. – cdeszaq