Lorsque je démarre le serveur de rails à l'aide de la rails s
commande, il s'afficheA server is already running. Check C:/Sites/folder/Pids/Server.pids
Lorsque j'ouvre le fichier, il génère un nombre à 4 chiffres uniquement, comment pourrais-je résoudre ce problème?
FYI
- Aucune autre instance de Rails cmd n'est en cours d'exécution cette fois.
- Vérifié le gestionnaire de tâches mais ne
cmd.exe
montre qu'aucun autre processus n'est en cours d'exécution. (sous Windows).
Réponses:
Supprimez le fichier: C: /Sites/folder/Pids/Server.pids
Explication Dans UNIX land au moins, nous suivons généralement l'ID de processus (pid) dans un fichier comme server.pid. Je pense que cela fait la même chose ici. Ce fichier a probablement été laissé par un crash.
la source
netstat -a -o
à une invite de commande pour voir quel processus utilise le port 3000TL; DR Exécutez simplement cette commande pour le tuer
Cause fondamentale: Parce que PID est verrouillé dans un fichier et que le serveur Web pense que si ce fichier existe, cela signifie qu'il est déjà en cours d'exécution. Normalement, lorsqu'un serveur Web est fermé, ce fichier est supprimé, mais dans certains cas, la suppression correcte ne se produit pas, vous devez donc supprimer le fichier manuellement Nouvelles solutions
lorsque vous exécutez des rails s
=> Démarrer WEBrick
=> Application Rails 4.0.4 débutant 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. Quitter
Placez donc votre chemin indiqué ici /your_project_path/tmp/pids/server.pid
et supprimez ce fichier server.pid :
OU Si votre serveur a été détaché, suivez les instructions ci-dessous:
Si vous avez détaché votre serveur rails en utilisant la commande "rails -d" alors,
Supprimer les rails du serveur détaché à l'aide de la commande
OU par cette commande
puis
OU utilisez cette commande
Pour rechercher et tuer le processus par nom de port sur lequel ce programme est en cours d'exécution. Pour 3000, remplacez le port sur lequel votre programme s'exécute.
Ancienne solution:
Vous pouvez également trouver cet article pour plus d'options Rails Update to 3.2.11 pauses exécutant plusieurs serveurs
la source
sudo kill -9 $(lsof -i :3000 -t)
Ensuite, vous devriez voir le processus ruby et vous pouvez exécuter
vous devriez être prêt à exécuter le processus maintenant
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. J'ai malheureusement remarqué de nombreuses fuites de mémoire avec les rails, donc je ne pouvais pas imaginer avoir deux processus en cours d'exécution. Je sais qu'avec une heure supplémentaire, ma page s'actualise de plus en plus lentement en raison des données stockées en mémoire.
la source
la source
-t
option), puis tue le processus par ce PID récupéré.Vous pouvez vous débarrasser du processus en le tuant:
la source
contremaître démarrer etc démarrer le service
la source
Cela se produit lorsque vous tuez votre processus serveur et que le fichier pid n'a pas été mis à jour. La meilleure solution consiste à supprimer le fichier Server.pid .
Utilisez la commande
la source
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
Vous avez probablement suspendu le serveur par:
^Z
.Les quatre nombres numériques qui
vim C:/Sites/folder/Pids/Server.pids
sortent est l'identifiant du processus.Vous devriez
kill -9 processid
, en remplaçant l'ID de processus par les 4 nombres que vim (ou un autre éditeur) a produit.la source
Si vous êtes sous Windows, il vous suffit de faire une seule étape en tant que «rails redémarrer» , puis de taper à nouveau «rails s». Vous êtes prêt à partir.
la source
Sous Windows Rails 5.2, supprimez ce fichier
et courir
encore.
la source
Courir:
fuser -k -n tcp 3000
Cela tuera le processus exécuté sur le port par défaut 3000.
la source
Je viens d'avoir ce problème et j'ai essayé de le configurer sur un port différent, mais la seule chose que je devais faire était de supprimer mon
[app_directory]/tmp/pids/server.pid
et tout était prêt à partir.la source
Courir:
dans Ubuntu / linux
Ou
ou
la source