[ruby-on-rails] 레일 서버를 멈출 수 없음

나는 레일을 처음 사용하고 우분투 머신과 루비 민 IDE를 사용하고 있습니다. 문제는 Rails 서버를 멈출 수 없다는 것입니다. 레일 프로세스를 종료하여 서버를 중지하려고했습니다. 그러나 내가 실행할 때 pgrep -l rails그러한 프로세스를 찾을 수 없습니다. 그래서 루비 프로세스 만 죽일 수는 있지만 서버는 멈추지 않습니다.

./script/server stop을 실행하여 시작했기 때문에 시도했지만 ./script/server start작동하지 않았습니다. 인터넷을 검색하고 일부 스택 오버 플로우 게시물을 발견하면서 로컬 호스트 포트의 수신 포트를 변경하려고했지만 성공하지 못했습니다. 누군가 도와 줄 수 있습니까?



답변

다음과 같은 다른 포트를 사용할 수 있습니다.

rails server -p 3001

일반적으로 터미널 Ctrl + C에서 서버를 종료 하려고 할 수 있습니다 .

Ruby on Rails 기본 서버 ()를 종료하는 다른 방법 WEBrick은 다음과 같습니다.

kill -INT $(cat tmp/pids/server.pid)

터미널에서 프로세스의 PID를 찾으십시오.

$ lsof -wni tcp:3000

그런 다음 PID 열의 숫자를 사용하여 프로세스를 종료하십시오.

예를 들면 다음과 같습니다.

$ kill -9 PID

그리고 내가 찾은 다른 답변 중 일부는 다음과 같습니다.

레일스 서버가 실행되는 동안 중지하려면 다음을 누르십시오.

CTRL-C
CTRL-Z

으로 다시 제어 할 수 bash있습니다. 그런 다음 (없이 $)를 입력하십시오 .

$ fg

그리고 이것은 프로세스로 되돌아 간 다음 Rails s제대로 종료 됩니다.

약간 성가 시지만 수동으로 프로세스를 죽이는 것이 확실합니다. 나쁘지 않고 내가 알아낼 수있는 최선입니다.

업데이트 된 답변 :

이름에 killall -9 railsrails“가있는 모든 실행중인 앱을 종료 하는 데 사용할 수 있습니다 .

killall -9 rails


답변

다음과 같은 방법으로 grep 명령을 사용할 수 있습니다.

ps aux | grep rails

그리고

kill -9 {process_id} 


답변

pkill -9 rails 레일의 모든 과정을 죽일

업데이트 된 답변

ps aux|grep 'rails'|grep -v 'grep'|awk '{ print $2 }'|xargs kill -9

이것은 실행중인 레일 프로세스를 종료시킵니다. ‘레일’을 다른 것으로 교체하여 다른 프로세스를 종료하십시오.


답변

다음은 서버 프로세스를 종료하는 단계입니다.

1. lsof -i tcp:3000

2. kill -9 1234

어디에 1234프로세스의 PID이다 : 로컬 호스트 1 단계 (3000)에서 디스플레이.

또는

아래의 파일 (server.pid)을 제거 Rails.root/tmp/pids/하고 서버를 다시 시작하십시오.

또는

다음 명령을 사용하여 다른 포트에서 앱을 엽니 다.

rails s -p 3001


답변

내 MAC에서는 killall -9 rails작동하지 않습니다. 그러나 killall -9 ruby그렇습니다.


답변

나는 일반적으로 다음을 사용합니다.

killall ruby

또는

pkill -9 ruby

같은 실행중인 모든 루비 관련 프로세스 죽일 것이다 rails server, rails console


답변

1. 간단히 rails 앱 디렉토리에서 pid 파일을 삭제하십시오

Rails_app -> tmp -> pids -> pid file

파일을 삭제하고 실행

rails start


2. Rails 5.0 이상의 경우이 명령을 사용할 수 있습니다

rails restart