web-dev-qa-db-fra.com

Le serveur est déjà en cours d'exécution dans Rails

Lorsque je démarre le serveur Rails avec la commande Rails s, il affiche A server is already running. Check C:/Sites/folder/Pids/Server.pids

Lorsque j'ouvre le fichier, il ne génère qu'un numéro à 4 chiffres. Comment résoudre ce problème? 

FYI

  1. Aucune autre instance de Rails cmd n'est en cours d'exécution cette fois.
  2. Checked Task manager mais seulement cmd.exe indique qu'aucun autre processus n'est en cours d'exécution. (sous Windows).
111
swapnesh

Supprimez le fichier: C: /Sites/folder/Pids/Server.pids

173
rainkinz

Ancienne solution:

Rails s -p 4000 -P tmp/pids/server2.pid

Vous pouvez également trouver ce message pour plus d'options La mise à jour de Rails vers 3.2.11 interrompt l'exécution de plusieurs serveurs

Nouvelles solutions 

lorsque vous exécutez Rails s

=> Amorcer WEBrick

=> Application Rails 4.0.4 démarrant en développement sur http://0.0.0.0:3000

=> Exécuter Rails server -h pour plus d'options de démarrage

=> Ctrl-C pour arrêter le serveur

Un serveur est déjà en cours d'exécution. Vérifiez /your_project_path/tmp/pids/server.pid. Sortie

Alors placez votre chemin indiqué ici /your_project_path/tmp/pids/server.pid 

et supprimez ce fichier server.pid:

rm /your_project_path/tmp/pids/server.pid

OR Si votre serveur est déconnecté, suivez les instructions ci-dessous:

Si vous avez détaché votre serveur Rails en utilisant la commande "Rails -d", alors,

Supprimer le serveur détaché de Rails à l'aide de la commande 

ps -aef | grep Rails

OR par cette commande

Sudo lsof -wni tcp:3000

puis

kill -9 pID

OR utilise cette commande

Pour trouver et tuer le processus par nom de port sur lequel ce programme est exécuté. Pour 3000, remplacez le port sur lequel votre programme est exécuté.

Sudo kill -9 $(lsof -i :3000 -t)
126
Taimoor Changaiz
lsof -wni tcp:3000

Ensuite, vous devriez voir le processus Ruby et vous pouvez exécuter

kill -9 processid

vous devriez être bon pour exécuter le processus maintenant

Rails s thin

exécuter plusieurs processus ne semble pas être une bonne idée et d'après ce que j'ai lu, beaucoup de gens sont d'accord. Malheureusement, j'ai constaté de nombreuses fuites de mémoire avec Rails. Je ne pouvais donc pas imaginer deux processus en cours d'exécution. Je sais qu'avec un temps supplémentaire, l'actualisation de la page devient de plus en plus lente à cause des données stockées dans la mémoire.

77
Josh Bedo
kill -9 $(lsof -i tcp:3000 -t)
25
Karan Purohit
$ lsof -wni tcp:3000

# Kill the running process
$ kill -9 5946

$ rm tmp/server.pids

contremaître démarrer etc démarrer le service

10
user1251378

Vous pouvez vous débarrasser du processus en le tuant:

kill -9 $(lsof -i tcp:3000 -t)
6
manu

Cela se produit lorsque vous supprimez le processus de votre serveur et que le fichier pid n'a pas été mis à jour ..__ La meilleure solution consiste à supprimer le fichier Server.pid .

Utilisez la commande 

rm <path to file Server.pid>

4
Ashish Sharma

gem install shutup

puis allez dans le dossier actuel de votre projet Rails et lancez 

shutup # cela va tuer le processus Rails en cours d'exécution

Vous pouvez utiliser la commande 'shutup' chaque fois que vous voulez

DICLAIMER: Je suis le créateur de ce joyau

REMARQUE: si vous utilisez rvm, installez la gem globalement 

rvm @global do gem install shutup
3
Lorenzo Sinisi

Vous avez probablement suspendu le serveur avec: ^Z

Le numéro numérique qui vim C:/Sites/folder/Pids/Server.pidsoutputs est le numéro de processus. 

Vous devriez kill -9 processid, en remplaçant l'ID de processus par les 4 nombres que vim (ou un autre éditeur) ont sortis. 

2
Cherenkov

Si vous êtes sous Windows, il vous suffit de n’effectuer qu’une étape en tant que'Rails restart', puis à nouveau tapez 'Rails s' sont bons pour aller.

1
Alok Amme

Exécuter: fuser -k -n tcp 3000

Cela va tuer le processus en cours d'exécution sur le port 3000 par défaut.

0
almawhoob

Courir: 

sous Ubuntu/linux

 Sudo rm /var/www/html/Rails/WBPOCTEST/tmp/pids/server.pid

Ou

 pkill -9 Ruby

ou 

lsof -wni tcp:3000

kill -9 pid
0
Syed Shibli

Je viens d'avoir ce problème et j'ai essayé de le configurer sur un autre port, mais la seule chose à faire était de supprimer mon [app_directory]/tmp/pids/server.pid et tout était prêt.

0
Dakota Michael

Sous Windows Rails 5.2, supprimez ce fichier.

c:/Sites/<your_folder>/tmp/pids/server.pid

et courir

Rails s

encore.

0
MSC