restart thin on windows using batch

944 단어 windows
문제: nginx 는 역방향 에이전트 로 thin 에서 3 개의 프로 세 스 를 열 었 습 니 다. production 모드 에서 다시 시작 해 야 합 니 다.사이트 가 계속 사용 할 수 있 도록 각각 재 부팅 이 필요 하 다.windows 는 Liux 의 restart 를 지원 하지 않 습 니 다.
해결 방법: batch 
사고방식: 포트 를 통 해 pid 를 찾 은 다음 에 taskkill 을 강제로 다시 시작 합 니 다.
코드:
FOR /F "tokens=5 delims= " %%P IN ('netstat -a -n -o ^| findstr :3000 ^| findstr LISTENING ') DO start /wait taskkill /F /PID %%P

@ping 127.0.0.1 -n 2 -w 300 > nul

start /min thin start -e production -p 3000

@ping 127.0.0.1 -n 2 -w 50000 > nul

 설명:
 행 1: netstat 를 통 해 포트 와 프로 세 스 pid 관련 정 보 를 표시 하고 findstr portnumber 와 listening 을 통 해 정 보 를 걸 러 낸 다음 for 문 구 를 통 해 pid 가 변수% P 에 게 전 달 된 것 을 단독으로 얻 고 마지막 으로 taskkill / F / PID 로 강제로 죽 입 니 다.
줄 2, 4: 좀 쉬어라
줄 3: 다른 창 에서 thin 시작 하기
 
부작용:
너 는 또 원래 있 던 창 을 스스로 꺼 야 한다.이것 은 지금 해결 하기 귀찮아 서 뜻 있 는 사람 이 보충 하 기 를 기다 리 고 있다.

좋은 웹페이지 즐겨찾기