Je suis nouveau sur les rails et j'utilise une machine ubuntu et l'IDE rubymine. Le problème est que je ne parviens pas à arrêter le serveur rails. J'ai essayé d'arrêter le serveur en tuant le processus de rails. Mais, lorsque je cours pgrep -l rails
, aucun processus de ce type n'est trouvé. Donc, je ne peux tuer que les processus ruby, mais le serveur ne s'arrête pas.
J'ai essayé ./script/server stop
(depuis que je l'ai commencé en courant ./script/server start
), mais cela n'a pas fonctionné. En cherchant sur Google et en trouvant quelques messages stackoverflow, j'ai essayé de changer le port d'écoute du port localhost mais sans succès. Quelqu'un pourrait-il aider?
ruby-on-rails
epsilones
la source
la source
Réponses:
Vous pouvez utiliser d'autres ports comme celui-ci:
Normalement, dans votre terminal, vous pouvez essayer
Ctrl + C
d'arrêter le serveur.L'autre façon de tuer le serveur par défaut de Ruby on Rails (qui est
WEBrick
) est:Dans votre terminal pour connaître le PID du processus:
Ensuite, utilisez le nombre dans la colonne PID pour arrêter le processus:
Par exemple:
Et certaines des autres réponses que j'ai trouvées sont:
Pour arrêter le serveur de rails pendant son exécution, appuyez sur:
Vous récupérerez le contrôle
bash
. Tapez ensuite (sans le$
):Et cela retournera dans le processus, puis s'arrêtera
Rails s
correctement.C'est un peu ennuyeux, mais cela vaut certainement la peine de tuer le processus manuellement. Ce n'est pas trop mal et c'est le mieux que je puisse comprendre.
Réponse mise à jour:
Vous pouvez utiliser
killall -9 rails
pour tuer toutes les applications en cours d'exécution avec "rails
" dans le nom.killall -9 rails
la source
{APP_ROOT}/tmp/pids/server.pid
fichier afin que vous n'ayez pas à le rechercher - tant que le serveur est en cours d'exécution. Donc, si au lieu de le faire,ctrl-c
exécutez simplement cette commande kill dans un autre terminal, cela tuera immédiatement le serveur Webrick.vous pouvez utiliser la commande grep de la manière suivante,
puis
la source
killall -9 rails
ps aux | grep puma
pkill -9 rails
pour tuer tout le processus des railsRéponse mise à jour
ps aux|grep 'rails'|grep -v 'grep'|awk '{ print $2 }'|xargs kill -9
Cela tuera tout processus de rails en cours d'exécution. Remplacez «rails» par quelque chose d'autre pour tuer tous les autres processus.
la source
Voici les étapes pour tuer le processus du serveur:
1. lsof -i tcp:3000
2. kill -9 1234
où
1234
est le PID du processus: localhost: 3000 affiché à l'étape 1.OU
Supprimez le fichier (server.pid) sous
Rails.root/tmp/pids/
et redémarrez le serveur.OU
ouvrez l'application dans un autre port en utilisant la commande:
rails s -p 3001
la source
Sur mon MAC, le
killall -9 rails
ne fonctionne pas. Mais lekillall -9 ruby
fait.la source
COMMAND
valeur.J'utilise généralement:
killall ruby
OU
pkill -9 ruby
qui va tuer tous les processus liés rubis qui sont en cours d' exécution comme
rails server
,rails console
, etc.la source
1. Supprimez simplement le fichier pid du répertoire de l'application rails
Rails_app -> tmp -> pids -> pid file
Supprimez le fichier et exécutez
rails start
2. Pour Rails 5.0 et supérieur, vous pouvez utiliser cette commande
rails restart
la source
Utilisez
ctrl+c
pour arrêter votre serveur Webrick.Malheureusement, si cela ne fonctionne pas, fermez le terminal de force et redémarrez-le.
Un autre truc est que
la source
Supprimez le server.pid du dossier tmp / pids. Dans mon cas, l'erreur était: un serveur est déjà en cours d'exécution. Vérifiez /home/sbhatta/myapp/tmp/pids/server.pid.
Donc, je supprime server.pid
rm /home/sbhatta/myapp/tmp/pids/server.pid
puis courirrails s
la source
Étape 1: trouvez quels éléments consomment 3000 ports.
étape 2: recherchez le processus nommé
Pour Mac
Pour Ubuntu
Étape 3: Trouvez le PID du processus et tuez-le.
la source
Ctrl-Z devrait normalement faire l'affaire.
la source
J'ai utilisé
killall -9 rails
comme Sri l'a suggéré et cela n'a pas fonctionné. J'ai ajusté la commandekillall -9 ruby
et le serveur s'est fermé immédiatement.Tl; dr:
killall -9 ruby
la source
c'est aussi simple que
ni plus ni moins
la source
Lorsque le serveur rails ne démarre pas, cela signifie qu'il est déjà en cours d'exécution, alors vous pouvez commencer en utilisant un nouveau port, par exemple.
ou il démarre et s'arrête dans ce cas, vous souhaitez supprimer le dossier temporaire dans la structure de répertoires rails, il démarre le serveur rails.
la source
vérifiez le /tmp/tmp/server.pid
il y a un pid à l'intérieur.
Habituellement, je fais mal "kill -9 THE_PID" dans le cmd
la source
J'ai remarqué sur Windows (j'utilise 10 mais je ne sais pas si c'est la même chose pour oler). Si vous utilisez cmd.exe et ctrl + c, le serveur raisl s'arrête correctement.
Cependant, si vous utilisez Git Bash, ce n'est pas le cas. Il dit que oui, mais quand vous regardez les pids tmp, c'est toujours là.
Peut-être un bug avec git bash?
la source
killall -9 ruby
va tuer tous les processus ruby, et au moins sur ma machine, les serveurs rails apparaissent comme des processus ruby.killall -9 rails
est beaucoup plus spécifique et ne fonctionne pas pour les anciennes versions de serveurs rails (cela donne un 'rails: aucun processus trouvé' car le processus s'appelle ruby)J'ai rencontré ce problème il y a quelque temps. Après avoir soumis un formulaire dans activeadmin, le serveur rails vient de se bloquer et je n'ai pas pu le tuer en utilisant des moyens normaux (même après ctrl + z, il fonctionnait toujours en arrière-plan). La réponse de l'apprenant a aidé, mais cette commande n'a pas besoin d'ID de processus.
la source
Il est tard pour cette question. Voici mes 2 cents. J'ai fait une tâche de râteau pour arrêter le serveur lorsque je n'y ai pas accès. Je n'ai testé que sur Mac.
Avec cela, vous pouvez simplement l'ajouter à votre projet, puis exécuter la commande rake.
Voici:
Lien essentiel: -la dernière version sera ici. https://gist.github.com/houmanka/289184ca5d8d92de0499#file-server-rake
Un peu de code ici:
la source
Assurez-vous également que vous exécutez la commande Cntrl + C dans le même terminal (onglet) que celui utilisé pour démarrer le serveur.
Dans mon cas, j'avais 2 onglets mais j'ai oublié d'arrêter le serveur de l'onglet correct et je me demandais pourquoi Cntrl + C ne fonctionne pas.
la source
Un moyen très simple serait
gem install shutup
puis allez dans le dossier actuel de votre projet rails et exécutez
shutup
# cela tuera le processus Rails en cours d'exécutionVous pouvez utiliser la commande 'shutup' à chaque fois que vous le souhaitez
DICLAIMER: Je suis le créateur de ce bijou
REMARQUE: si vous utilisez rvm, installez le gem globalement
la source
Pour ma machine Windows 10, Ctrl - C+ Ctrl - Dfonctionne.
la source
Nous pouvons tuer la session de rails sous Linux en utilisant PORT no
ici 3000 est un port no. Maintenant, redémarrez votre serveur, vous verrez que votre serveur est en cours d'exécution.
la source
Suivez ces étapes:
la source
Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)
Ouvrez simplement le fichier en utilisant l'emplacement indiqué
sudo vi /Users/user1/go/src/github.com/rails_app/rails_project/tmp/pids/server.pid
recherchez le process_id / thread_id sur lequel le processus s'exécute.
Tuez le processus / thread spécifié en utilisant
kill -9 84699
la source
Sur rails 6 en utilisant
ps aux | grep rails
ne renvoyait pas le processus serveurje devais faire
ps aux | grep puma
pour trouver le processus réel, puis le tuer en utilisant
kill -9 {process_id}
la source
Si vous utilisez une version plus moderne de Rails et qu'elle utilise Puma comme serveur Web, vous pouvez exécuter la commande suivante pour trouver le processus Puma bloqué:
Il en résultera une sortie similaire à celle-ci:
Vous voulez le processus auquel il ne fait pas référence
grep
. Dans ce cas, l'ID de processus est 85923.Je peux ensuite exécuter la commande suivante pour tuer ce processus:
la source