[ruby-on-rails] 서버가 이미 실행 중입니다. … / tmp / pids / server.pid를 확인하십시오. 종료-레일

..$ 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

Rails 초보자가 이것을 해결하는 가장 쉬운 방법은 무엇입니까?



답변

server.pid파일을 삭제할 수 있습니다 .

rm /your_project_path/tmp/pids/server.pid

그밖에:

OSX에서 시도하십시오.

sudo lsof -iTCP -sTCP:LISTEN -P | grep :3000

또는 Linux :

ps -aef | 그렙 레일

또는

lsof -wni tcp:3000

사용하여 프로세스를 종료

kill -9 PID (eg,2786)


답변

짧고 선명한 한 줄 명령이 처리됩니다.

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


답변

server.pid 실행중인 서버의 프로세스 ID 만 포함합니다.

당신이 할 경우 :

more /your_project_path/tmp/pids/server.pid

kill 명령으로 이전 서버를 중지하는 데 사용할 수있는 번호 (예 : 6745)를 얻게됩니다.

kill -9 6745

그런 다음 rm명령을 사용 하여 파일을 제거 할 수 있습니다.

rm /your_project_path/tmp/pids/server.pid


답변

docker-compose를 사용하고 docker-compose.yml에 다음

volumes:
- .:/myapp

이있는 경우 로컬 작업 영역이 컨테이너의 / myapp 폴더에 매핑됩니다.

/ myapp의 모든 항목은 정의 된 볼륨에 대해 삭제되지 않습니다.

./tmp/pids/server.pid로컬 컴퓨터에서 삭제할 수 있습니다 . 그러면 컨테이너의 / myapp에이 파일이 없습니다.


답변

단순한:

이 경우 프로젝트의 루트 폴더로 이동하여 다음을 실행하십시오.

gem install shutup
shutup

이것은 현재 실행중인 프로세스를 찾아서 죽이고 pid 파일을 정리합니다.

참고 : rvm을 사용하는 경우 전역 적으로 gem을 설치하십시오.

rvm @global do gem install shutup


답변

다음을 사용하여 문제를 해결할 수 있습니다.

kill -9 $(more /home/..name/rprojects/railsapp/tmp/pids/server.pid)


답변

서버가 server.pid에 로그인 할 충분한 시간이 없도록 OS / 머신을 수동으로 끄는 것과 같이 강제로 서버를 끄는 경우가 있습니다.

한 가지 쉬운 방법은 tmp/pids/(콘솔에 표시된 디렉토리 )로 수동으로 이동하여 server.pid파일을 제거하는 것 입니다. 그런 다음 서버를 다시 시작 rails server하거나 rails s, 새 server.pid를 생성하고 개발을 계속할 수 있습니다.