Un serveur est déjà en cours d'exécution. De vérifier .../tmp/pid/serveur.pid. La sortie de rails
..$ rails s
=> Booting WEBrick
=> Rails 4.0.4 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
A server is already running. Check /home/..name/rprojects/railsapp/tmp/pids/server.pid.
Exiting
Quel est le moyen le plus simple de résoudre ce problème pour un débutant rails?
10 réponses
, Vous pouvez supprimer le server.pid
fichier.
rm /your_project_path/tmp/pids/server.pid
Autre:
essayez dans OSX:
sudo lsof -iTCP -sTCP:LISTEN -P | grep :3000
- sous linux:
Rails Ps-aef | grep
Ou
lsof -wni tcp:3000
Tuer le processus en utilisant
kill -9 PID (eg,2786)
Commande simple ligne courte et nette, qui s'en occupera.
kill -9 $(lsof -i tcp:3000 -t)
Simple:
Allez dans le dossier racine du projet lorsque cela se produit et exécutez:
gem install shutup
shutup
Cela va trouver le processus en cours d'exécution, le tuer et nettoyer le fichier pid
REMARQUE: Si vous utilisez rvm, installez la gemme globalement
rvm @global do gem install shutup
server.pid
contient uniquement l'ID de processus du serveur en cours d'exécution.
Si vous le faites:
more `server.pid`
, Vous obtiendrez un nombre (disons 6745) que vous pouvez utiliser pour arrêter le serveur précédent avec la commande kill:
kill -9 6745
Et vous pouvez ensuite supprimer le fichier avec la commande rm
rm server.pid
Cela arrive parfois parce que vous éteignez le serveur par la force, par exemple en éteignant le système d'exploitation/machine manuellement afin que le serveur n'ait pas assez de temps pour se connecter au serveur.pid.
Un moyen simple consiste à accéder manuellement à tmp/pids/
(le répertoire affiché dans votre console.) et supprimer server.pid
Fichier. Ensuite, lorsque vous redémarrez le serveur, rails server
ou rails s
,il crée un nouveau serveur.pid et vous pouvez continuer le développement.
Problème peut être résolu en utilisant:
kill -9 $(more /home/..name/rprojects/railsapp/tmp/pids/server.pid)
La manière d'interface graphique pour windows user
Ouvrez le ResourceMonitor (gestionnaire des tâches ->Performances -> ResourceMonitor) et de tuer le rubis.processus exe
Ouvrez le fichier path/to/your/rails/project/tmp/pids/server.pid
.
Copiez le numéro que vous y trouvez.
Exécuter kill -9 [PID]
Où [PID]
est le numéro que vous avez copié à partir du fichier server.pid
.
Cela va tuer le processus serveur en cours d'exécution et vous pouvez redémarrer votre serveur sans aucun problème.
Si vous utilisez Docker-compose, et dans Docker-compose.yml ont:
volumes:
- .:/myapp
Cela signifie que votre espace de travail local est mappé sur le dossier /myapp du conteneur.
Tout ce qui se trouve dans / myapp ne sera pas supprimé pour les volumes définis.
Vous pouvez supprimer ./tmp/pids/server.pid
dans votre machine locale. Ensuite, le conteneur /myapp n'aura pas ce fichier.
Pour ce problème,
Ce que j'ai fait est:
- supprimez le dossier Pids qui se trouve sous
app/tmp/
-
Et puis, fermez le terminal que nous exécutons l'application actuelle et fermez l'onglet (dans, fenêtre du navigateur)
Après cela, ouvrez à nouveau le terminal en allant dans le dossier, puis le faire,
rails s
- ensuite, il ouvre l'onglet frais qui exécute notre application