그 성가신 프로세스를 종료하십시오, 정말 게으른 방법

이것은 빠른 작업이 될 것입니다. 오늘 저는 포트를 해제하기 위해 프로세스를 종료하고 싶을 때마다 귀중한 초 또는 전체 분을 절약한 작은 bash 스크립트를 공유할 것입니다.



Something is already running at port 9000

나는 때때로 이것들 중 하나에 부딪칩니다.

저와 함께 그것은 종종 죽이는(CTRL+C) 대신에 제 개발 서버를 중단(CTRL+Z)할 때 발생합니다.

다음 단계에는 해당 포트에서 실행 중인 프로세스pid를 찾아 종료하는 작업이 종종 포함됩니다.

충분히 쉽지만 여기에 더 쉬운 것이 있습니다.

어떻게


  • cd ~ /usr/local/bin/ .
  • 새 파일을 만들고 이름을 stop 또는 원하는 다른 이름으로 지정합니다.

  • 거기에 다음을 붙여넣으세요.

       #!/bin/bash
       touch temp.text
       lsof -n -i4TCP:$1 | awk '{print $2}' > temp.text
       pidToStop=`(sed '2q;d' temp.text)`
       > temp.text
       if [[ -n $pidToStop ]]
       then
       kill -9 $pidToStop
       echo "!! $1 is stopped !!"
       else
       echo "Sorry nothing running on above port"
       fi
       rm temp.text
    

    *면책 조항: 나는 스크립트를 작성하지 않았고 단지 그것을 채택했습니다. 아래 크레딧.
  • chmod +x stop 파일을 실행 가능하게 만듭니다. chmod 755도 작동합니다.
  • 이제 터미널에서 언제든지 stop 9000 또는 다른 포트를 사용하여 해당 포트에서 실행 중인 프로세스를 중지할 수 있습니다.
  • 이익. 한 번 쓰고 항상 사용하십시오.

  • 아주 간단하게 위의 스크립트가 하는 일은 입력 포트에서 실행 중인 프로세스의 pid를 찾아 임시 파일에 복사한 다음 임시 파일을 읽어 그 안의 pid를 찾아 죽이고 마지막으로 삭제하는 것입니다. 임시 파일.awk 궁금한 분들을 위해 텍스트 처리에 사용되는 프로그래밍 언어입니다.

    메모


  • 여기 위의 스크립트가 있는 내 gist가 있습니다.
  • 여기 stackoverflowanswer가 있습니다. 원래 이 스크립트를 찾았습니다.

  • 제목 이미지 작성자 Sammy-Williams over at Pixabay

    좋은 웹페이지 즐겨찾기