복붙노트

[RUBY-ON-RAILS] 레일 서버 포트가 이미 프로세스를 종료하는 방법을 사용 말한다?

RUBY-ON-RAILS

레일 서버 포트가 이미 프로세스를 종료하는 방법을 사용 말한다?

나는 일을 맥에있어 :

rails server

나는 얻다:

2010-12-17 12:35:15] INFO  WEBrick 1.3.1
[2010-12-17 12:35:15] INFO  ruby 1.8.7 (2010-08-16) [i686-darwin10.4.0]
[2010-12-17 12:35:15] WARN  TCPServer Error: Address already in use - bind(2)
Exiting

나는 새 포트에 하나 시작할 수 있습니다 알고 있지만, 나는이 과정을 죽이고 싶어.

해결법

  1. ==============================

    1.당신은 (일반적으로 용도에 WEBrick 것입니다) 포트 3000에 무엇이든 죽일 찾고 가정하면, 프로세스의 PID를 찾을 터미널이를 입력 :

    당신은 (일반적으로 용도에 WEBrick 것입니다) 포트 3000에 무엇이든 죽일 찾고 가정하면, 프로세스의 PID를 찾을 터미널이를 입력 :

    $ lsof -wni tcp:3000
    

    그런 다음, 프로세스를 종료하기 위해 PID 열에서 번호를 사용 :

    $ kill -9 PID
    
  2. ==============================

    2.죽일 -9 $ (-i TCP lsof를 : 3000 -t)

    죽일 -9 $ (-i TCP lsof를 : 3000 -t)

  3. ==============================

    3.당신은 프로세스 ID를 얻으려면 TCP 포트를 3000를 사용하여 프로그램의 프로세스 ID를 얻을 필요

    당신은 프로세스 ID를 얻으려면 TCP 포트를 3000를 사용하여 프로그램의 프로세스 ID를 얻을 필요

    lsof -i tcp:3000 -t
    

    그리고 그 프로세스 ID를 사용하여, 단순히 우분투 kill 명령을 사용하여 프로세스를 종료.

    kill -9 pid
    

    아니면 그냥 아래의 실행 명령을 결합 언급했다. 그것은 첫째 PID를 가져오고 그 과정을 죽일 것이다.

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

    4.맥에없는이 질문을 통해 보았 지 누군가를 위해 : 당신이 당신의 서버가 포트 3000에서 실행되고 있는지 알고 가정, 당신은 다음을 실행하여 한 번에이 작업을 수행 할 수 있습니다

    맥에없는이 질문을 통해 보았 지 누군가를 위해 : 당신이 당신의 서버가 포트 3000에서 실행되고 있는지 알고 가정, 당신은 다음을 실행하여 한 번에이 작업을 수행 할 수 있습니다

    fuser -k 3000/tcp
    

    토비 언급했다하지만, 맥 OS 퓨저의 구현은 오히려 원시적이며,이 명령은 Mac에서 작동하지 않습니다.

  5. ==============================

    5.언젠가 레일 서버가 제대로 닫혀 있지 기회가있다. 당신은 레일에 의해 사용되는 프로세스를 찾을 수 있습니다

    언젠가 레일 서버가 제대로 닫혀 있지 기회가있다. 당신은 레일에 의해 사용되는 프로세스를 찾을 수 있습니다

    출력 등이 될 것입니다

    user     12609  9.8  0.5  66456 45480 pts/0    Sl+  21:06   0:02 /home/user/.rvm/rubies/ruby-2.2.0-preview1/bin/ruby bin/rails s
    

    여기 레일 서버에서 사용되는 12609을 PROCESS_ID.

    당신은 명령에 의해 쉽게 죽일 수

  6. ==============================

    6.모든 답변은 위의 정말 좋아하지만 난 그것을 위해 보석을 만들 수 있도록 터미널에서 가능한 한 적게 입력 할 수있는 방법이 필요했습니다. 한 번만 보석을 설치하고 명령 'shutup'(현재 폴더에있는 동안) 당신이 레일 프로세스를 종료 싶어 할 때마다 실행할 수 있습니다.

    모든 답변은 위의 정말 좋아하지만 난 그것을 위해 보석을 만들 수 있도록 터미널에서 가능한 한 적게 입력 할 수있는 방법이 필요했습니다. 한 번만 보석을 설치하고 명령 'shutup'(현재 폴더에있는 동안) 당신이 레일 프로세스를 종료 싶어 할 때마다 실행할 수 있습니다.

    보석 shutup 설치

    다음 레일 프로젝트와 실행의 현재 폴더에 이동

    shutup #이 레일은 현재 실행중인 프로세스를 죽일 것이다

    당신은 명령 'shutup'당신이 원하는 모든 시간을 사용할 수 있습니다

    면책 조항 :이 보석의 창조자이다

    참고 : RVM을 사용하는 경우 세계적으로 보석을 설치

    rvm @global do gem install shutup
    
  7. ==============================

    7.추신 보조 | GREP 레일은 서버를 죽일 수있는이 명령을 사용하여

    추신 보조 | GREP 레일은 서버를 죽일 수있는이 명령을 사용하여

  8. ==============================

    8.기본적으로 서버가 사용하는 포트 3000 레일. 그래서, 당신은 레일 서버를 실행하는 두 가지 옵션이 있습니다. 1. 어느 다음 명령을 사용하여 사용자 정의 포트를 정의하여 다른 포트에 서버를 실행할 수 있습니다 레일 (S) -p 3001 2. 아니면 다음 명령을 실행하여 실행중인 모든 루비 프로세스를 죽일 수 killall는 -9 루비 다음 실행 레일 서버

    기본적으로 서버가 사용하는 포트 3000 레일. 그래서, 당신은 레일 서버를 실행하는 두 가지 옵션이 있습니다. 1. 어느 다음 명령을 사용하여 사용자 정의 포트를 정의하여 다른 포트에 서버를 실행할 수 있습니다 레일 (S) -p 3001 2. 아니면 다음 명령을 실행하여 실행중인 모든 루비 프로세스를 죽일 수 killall는 -9 루비 다음 실행 레일 서버

  9. ==============================

    9.한 줄 솔루션 :

    한 줄 솔루션 :

    kill -9 $(ps aux | grep 'rails s' | awk {'print$2'}); rails s
    
  10. ==============================

    10.입력합니다 :

    입력합니다 :

    man lsof
    

    그런 다음 -w를 찾아, -n 및 -i

    -i : 인터넷 물건 -n : 빨리한다 -w : 토글 경고

    매뉴얼 페이지 WAY 자세한 내용이 있습니다

  11. ==============================

    11.당신이 윈도우 머신에있는 경우 다음 단계를 수행합니다.

    당신이 윈도우 머신에있는 경우 다음 단계를 수행합니다.

    c:/project/
    cd tmp
    c:/project/tmp
    cd pids
    c:/project/tmp/pids
    dir
    

    당신은 파일 server.pid있다라는 것입니다

    삭제합니다.

    c:/project/tmp/pid> del *.pid
    

    그것을 이잖아.

    편집 :이를 참조하십시오

  12. from https://stackoverflow.com/questions/4473229/rails-server-says-port-already-used-how-to-kill-that-process by cc-by-sa and MIT license