This is the documentation page for an unsupported version of Zabbix.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.
Table of Contents

8 Wykonywanie poleceń

Do uruchomienia parametrów użytkownika, poleceń zdalnych, pozycji system.run[] bez flagi "nowait", skryptów (alarmy, zewnętrzne i globalne) oraz niektórych poleceń wewnętrznych Zabbix używa wspólnej funkcjonalności.

Komenda/skrypt wykonywane są podobnie na obu platformach Unix i Windows:

  1. Zabbix (proces nadrzędny) tworzy strumień do komunikacji
  2. Zabbix ustawia strumień jako wyjście dla nowo tworzonych procesów potomnych
  3. Zabbix tworzy procesy potomne (uruchamia polecenie/skrypt)
  4. Tworzona jest nowa grupa procesów (w Unix) lub zadanie (w Windows) dla procesu potomnego
  5. Zabbix czyta ze strumienia aż do wyczerpania czasu oczekiwania (timeout) lub do momentu, gdy coś jeszcze pisze z drugiej strony (WSZYSTKIE uchwyty/deskryptory plików zostaną zamknięte). Należy zauważyć, że proces potomny może utworzyć więcej procesów i zakończyć się, zanim się one zakończą i zamkną uchwyty/deskryptory plików.
  6. Jeżeli nie wyczerpał się czas oczekiwania, Zabbix czeka aż pierwotny proces potomny zakończy się lub wyczerpie czas oczekiwania
  7. W tym punkcie zakłada się, że wszystko zostało zrobione i całe drzewo procesów (np. grupa procesów lub zadanie) zostało zakończone

Kroki 5-7 nie dotyczą poleceń wykonywanych z flagą "nowait".

Zabbix zakłada, że polecenie/skrypt skończy przetwarzanie, gdy pierwotny proces potomny zakończy się I żaden inny proces nie utrzymuje otwartego wyjściowego uchwytu/deskryptora pliku. Gdy przetwarzanie zakończy się, WSZYSTKIE potomne procesy zostaną zatrzymane.

Wszystkie podwójne cudzysłowy i znaki odwrotnego ukośnika w poleceniu są poprzedzane odwrotnym ukośnikiem a polecenie zamykane jest w podwójne cudzysłowy.

Czytaj więcej o parametrach użytkownika, poleceniach zdalnych, skryptach alarmów.