TL; DR Просто запустіть цю команду, щоб її вбити
sudo kill -9 $(lsof -i :3000 -t)
Основна причина:
Оскільки PID заблокований у файлі, а веб-сервер вважає, що якщо цей файл існує, то це означає, що він вже працює. Зазвичай, коли веб-сервер закритий, цей файл видаляється, але в деяких випадках належного видалення не відбувається, тому вам доведеться видаляти файл вручну.
Нові рішення
при запуску рейок s
=> Завантаження 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 -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 перерв на декількох серверах