Solr의 자동 재시작


-1

솔라의 3 인스턴스가 실행 중입니다.

  1. 바람둥이를 사용하여 (쉘 u에서 -Dcatalina.base = / usr / local / apache-tomcat-6.0.35와 같은 것을 찾을 수 있습니다-)
  2. tomcat_1 고소 (쉘 u에서 -Dcatalina.base = / usr / local / apache-tomcat-6.0.35_1-와 같은 것을 찾을 수 있습니다)
  3. tomcat_2 사용 (쉘 u에서 -Dcatalina.base = / usr / local / apache-tomcat-6.0.35_2-와 같은 것을 찾을 수 있습니다)

특정 인스턴스를 종료시킬 수있는 쉘 스크립트를 작성할 수 있습니까?

  1. 1의 경우 : 바람둥이를 죽이지 만 바람둥이 _1 & tomcat_2는 아닙니다.
  2. 2 : tomcat_1을 죽이지 만 tomcat & tomcat_2는 죽이지 않습니다.
  3. 3의 경우 : tomcat_2를 죽이지 만 tomcat & tomcat_1

1
물론 넌 할 수있어. 무엇을 시도 했습니까?
thkala

답변:


2

내가 4 년 전에이 답변을 썼을 때, 나는 여전히 리눅스와 쉘 초보자였으며, 모든 불필요한 greping과 seding에 대한 원래의 대답 은 그 고통을 명백하게 해줍니다.
물론 훨씬 더 간단한 해결책이 있습니다.

pkill -f 'tomcat-6.0.35 '

전체 명령 줄 (= 실행 파일 이름 + 시작된 매개 변수 -f)에 문자열 'tomcat-6.0.35'가 포함 된 모든 프로세스에 SIGTERM을 보냅니다 . 'tomcat-6.0.35_1'등과 일치하지 않도록 후행 공백을 포함해야합니다.

pgrep대신 pkill프로세스 ID를 직접 SIGTERM하지 않고 대신 나열하는 데 사용할 수도 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.