Tự động khởi động lại Solr


-1

Tôi có 3 ví dụ của solr đang chạy

  1. sử dụng tomcat (trong shell u sẽ tìm thấy một cái gì đó như -Dcatalina.base = / usr / local / apache-tomcat-6.0.35 -)
  2. kiện tomcat_1 (trong shell u bạn sẽ tìm thấy một cái gì đó như -Dcatalina.base = / usr / local / apache-tomcat-6.0.35_1 -)
  3. sử dụng tomcat_2 (trong shell u sẽ tìm thấy một cái gì đó như -Dcatalina.base = / usr / local / apache-tomcat-6.0.35_2 -)

Tôi có thể viết một kịch bản shell có thể giết chết cá thể cụ thể không

  1. cho 1: giết tomcat nhưng không tomcat_1 & tomcat_2
  2. cho 2: giết tomcat_1 nhưng không phải tomcat & tomcat_2
  3. cho 3: giết tomcat_2 nhưng không phải tomcat & tomcat_1

1
Chắc chắn bạn có thể. Bạn đã thử những gì?
thkala

Câu trả lời:


2

Khi tôi viết câu trả lời này bốn năm trước, tôi vẫn là một người mới sử dụng Linux và shell - và câu trả lời ban đầu với tất cả những gì không cần thiết grepsedlàm cho điều đó rõ ràng đau đớn
Tất nhiên có một giải pháp đơn giản hơn nhiều:

pkill -f 'tomcat-6.0.35 '

sẽ gửi SIGTERM tới tất cả các quy trình có dòng lệnh đầy đủ (= tên của tệp thực thi + các tham số đã được khởi chạy cùng - do đó -f) chứa chuỗi 'tomcat-6.0.35'. Đảm bảo bao gồm khoảng trắng ở cuối để tránh khớp 'tomcat-6.0.35_1', v.v.

Bạn cũng có thể sử dụng pgrepthay vì pkillliệt kê ID tiến trình thay vì trực tiếp SIGTERM-ing chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.