TL; DR Просто запустите эту команду, чтобы убить его
sudo kill -9 $(lsof -i :3000 -t)
Основная причина:
поскольку PID заблокирован в файле, а веб-сервер считает, что если этот файл существует, значит, он уже запущен. Обычно, когда веб-сервер закрыт, этот файл удаляется, но в некоторых случаях надлежащего удаления не происходит, поэтому вам придется удалить файл вручную.
Новые решения
когда вы запускаете рельсы с
=> Загрузка WEBrick
=> Приложение Rails 4.0.4 запускается в разработке на http://0.0.0.0:3000
=> Запустить rails server -h
для дополнительных параметров запуска
=> Ctrl-C для выключения сервера
Сервер уже запущен. Проверьте /your_project_path/tmp/pids/server.pid.
Выход
Поэтому разместите ваш путь, показанный здесь /your_project_path/tmp/pids/server.pid
и удалите этот файл server.pid :
rm /your_project_path/tmp/pids/server.pid
ИЛИ Если ваш сервер отключен, следуйте приведенным ниже инструкциям:
Если вы отключили сервер rails с помощью команды "rails -d",
Удалить рельсы с сервера с помощью команды
ps -aef | grep rails
ИЛИ этой командой
sudo lsof -wni tcp:3000
затем
kill -9 pID
ИЛИ используйте эту команду
Чтобы найти и уничтожить процесс по имени порта, на котором запущена эта программа. Для 3000 замените порт, на котором работает ваша программа.
sudo kill -9 $(lsof -i :3000 -t)
Старое решение:
rails s -p 4000 -P tmp/pids/server2.pid
Также вы можете найти этот пост для получения дополнительных опций
Обновление Rails до 3.2.11 прерывает работу нескольких серверов