찾기 (및 kill) Process Locking Port 3000에서 Mac [폐쇄]
질문
TCP 포트를 청취하거나 사용하는 프로세스를 찾아내는 방법은 무엇입니까?나는 매크로에있어.
때로는 충돌이나 약간의 버그 후에, 내 레일 앱은 포트 3000을 잠그고 있습니다. PS -EF를 사용하여 찾을 수 없습니다 ...
달리기 일 때
rails server
나는 얻다
Address already in use - bind(2) (Errno::EADDRINUSE)
node.js 프로세스를 중지 할 때 동일한 문제가 발생합니다.프로세스가 중지되고 앱이 실행 중지 된 후에도 포트 3000이 잠겨 있습니다.앱을 다시 시작할 때,
Address already in use (Errno::EADDRINUSE)
답변
You can try
netstat
netstat -vanp tcp | grep 3000
For macOS El Capitan and newer (or if your netstat doesn't support
-p
), uselsof
lsof -i tcp:3000
For Centos 7 use:
netstat -vanp --tcp | grep 3000
답변
찾다:
sudo lsof -i :3000
죽임:
kill -9 <PID>
참고 사항 : -9 프로세스를 즉시 죽이고 그 자체로 청소할 기회가 없습니다.이로 인해 문제가 발생할 수 있습니다.프로세스가 자체적으로 정리할 수있는 더 부드러운 종료를 위해 -15 (용어) 또는 -3 (종료)를 사용하는 것을 고려하십시오.
답변
빠르고 쉬운 솔루션 :
kill -9 $(lsof -ti:3000)
여러 포트의 경우 :
kill -9 $(lsof -ti:3000,3001)
# 3000은 해제 할 항입니다
단일 행 명령으로 여러 포트를 종료하십시오.
kill -9 $(lsof -ti:3000,3001)
# 다중 포트 3000 및 3001이 해제 할 포트입니다.
lsof -ti : 3000.
POT이 점령되면 위의 명령은 다음과 같이 반환됩니다 : 82500 (프로세스 ID)
lsof -ti : 3001.
82499.
lsof -ti : 3001,3000.
82499. 82500.
킬 -9 $ (LSOF -TI : 3001,3000)
82499와 82500 프로세스를 하나의 명령으로 종료합니다.
package.json 스크립트에서 이것을 사용하려면 다음을 수행하십시오.
"scripts": {
"start": "kill -9 $(lsof -ti:3000,3001) && npm start"
}
터미널에서 다음을 사용할 수 있습니다.
npm run start
답변
위의 아무 것도 아니에요.내 경험을 가진 다른 누구도 다음을 시도 할 수 있습니다 (나를 위해 일한 것) :
운영:
lsof -i :3000 (where 3000 is your current port in use)
그런 다음보고 된 PID의 상태를 확인하십시오.
ps ax | grep <PID>
마지막으로 "Begone with":
kill -QUIT <PID>
답변
이 단일 명령 줄은 기억하기 쉽습니다.
NPX Kill-Port 3000.
한 번에 여러 포트를 죽일 수도 있습니다.
NPX Kill-Port 3000 3001 3002.
검색이있는보다 강력한 도구를 위해 :
npx fkill-cli.
추신 : 그들은 타사 JavaScript 패키지를 사용합니다.NPX는 Node.js와 함께 내장되어 있습니다.
출처 : Tweet |github.
답변
lsof -i : 3000을 사용할 수 있습니다.
그것이 "열려있는 파일을 나열"합니다.이렇게하면 프로세스 목록과 사용되는 파일과 포트가 표시됩니다.
출처:https://stackoverflow.com/questions/3855127/find-and-kill-process-locking-port-3000-on-mac
최근댓글