나는 레일을 처음 사용하고 우분투 머신과 루비 민 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 rails
” rails
“가있는 모든 실행중인 앱을 종료 하는 데 사용할 수 있습니다 .
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