Systemctl có thể khởi động lại các quy trình đã chết, hoặc đó là nơi mà Người giám sát đến?


9

Từ nghiên cứu của tôi, có vẻ như Người giám sát và Systemctl không thể thay thế cho nhau, tuy nhiên chúng có chức năng chồng chéo; Đáng chú ý, cả hai đều có thể được sử dụng để bắt đầu các quá trình khác. Tuy nhiên, Người giám sát có khả năng khởi động lại một ứng dụng đã chết vì bất kỳ lý do gì. Tôi không thể tìm thấy bất cứ điều gì cho thấy systemctl có khả năng này.

Systemctl có thể được sử dụng để khởi động lại một quá trình đã chết không?

Hơn nữa, đối với tôi, hầu hết mọi người sẽ, ví dụ, thêm Postgres và Nginx hoặc Apache vào Systemctl, nhưng sẽ thêm ứng dụng của họ cho người giám sát. Tại sao lại thế này? Thay vào đó họ không nên thêm tất cả những thứ này vào Người giám sát, để Người giám sát có thể khởi động lại chúng nếu họ chết?

Câu trả lời:


14

systemctlthường là một lệnh được sử dụng để cấu hình và kiểm soát systemd.

Một đơn vị systemd có thể bao gồm các hướng dẫn về những việc cần làm nếu một quá trình kết thúc.

Ví dụ: với RedHat 7, cài đặt rsyslogd mặc định bao gồm một tệp đơn vị có:

[Service]
....
Restart=on-failure

như một phần của nó

Từ man systemd.service:

   Restart=
       Configures whether the service shall be restarted when the service
       process exits, is killed, or a timeout is reached. The service
       process may be the main service process, but it may also be one of
       the processes specified with ExecStartPre=, ExecStartPost=,
       ExecStop=, ExecStopPost=, or ExecReload=. When the death of the
       process is a result of systemd operation (e.g. service stop or
       restart), the service will not be restarted. Timeouts include
       missing the watchdog "keep-alive ping" deadline and a service
       start, reload, and stop operation timeouts.

       Takes one of no, on-success, on-failure, on-abnormal, on-watchdog,
       on-abort, or always. If set to no (the default), the service will
       not be restarted. 

systemdlà tương đối mới và mọi người có thể không nhận thức được khả năng của nó. Hơn nữa, họ có thể không biết về các đơn vị người dùng , cho phép người dùng tự làm nội dung của họ.

supervisord là một chương trình cũ hơn nhiều, vì vậy mọi người có thể nhận thức rõ hơn về điều đó, đã sử dụng nó trong một thập kỷ và không thấy cần phải thay đổi.

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.