rails s
명령을 사용하여 레일 서버를 시작할 때 표시됩니다A server is already running. Check C:/Sites/folder/Pids/Server.pids
파일을 열면 4 자리 숫자 만 출력 되므로이 문제를 어떻게 해결할 수 있습니까?
참고로
- 이번에는 Rails cmd의 다른 인스턴스가 실행되고 있지 않습니다.
- 확인 된 작업 관리자이지만
cmd.exe
다른 프로세스가 실행되고 있지 않음 만 표시합니다. (Windows 사용).
답변
파일을 제거하십시오. C : /Sites/folder/Pids/Server.pids
설명
우리가 일반적으로 server.pid 같은 파일의 프로세스 ID (PID)를 추적 적어도에서 UNIX 토지. 나는 이것이 여기서 똑같은 일을하고 있다고 생각합니다. 그 파일은 아마도 충돌로 남겨졌을 것입니다.
답변
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 -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 Update to 3.2.11 옵션에 대한 더 많은 옵션을 보려면이 게시물을 찾을 수
있습니다
답변
lsof -wni tcp:3000
그런 다음 루비 프로세스를 볼 수 있고 실행할 수 있습니다
kill -9 processid
지금 프로세스를 실행하는 것이 좋을 것입니다
rails s thin
여러 프로세스를 실행하는 것은 좋은 생각처럼 보이지 않으며 많은 사람들이 읽은 내용에서 동의합니다. 불행히도 레일로 많은 메모리 누수가 발견되어 두 프로세스가 실행되는 것을 상상할 수 없었습니다. 시간이 지남에 따라 메모리에 저장된 데이터로 인해 페이지 새로 고침이 점점 느려집니다.
답변
kill -9 $(lsof -i tcp:3000 -t)
답변
프로세스를 종료하여 프로세스를 제거 할 수 있습니다.
kill -9 $(lsof -i tcp:3000 -t)
답변
$ lsof -wni tcp:3000
# Kill the running process
$ kill -9 5946
$ rm tmp/server.pids
포먼 시작 등 서비스 시작
답변
서버 프로세스를 종료하고 pid 파일이 업데이트되지 않은 경우 발생합니다. 가장 좋은 해결책은 Server.pid 파일을 삭제하는 것입니다 입니다.
명령을 사용하십시오
rm <path to file Server.pid>