Добавить действие перезапуска к условию
#include <ha/ham.h>ham_action_t * ham_action_restart( ham_condition_t *chdl,const char *aname,const char *path,unsigned flags );
или\'path with space\'
также допустимо:\"path with space\",
Это будет рассматриваться как"\'path with space\' arg1 arg2 \"arg3 with space\"".
"path with space" -> patharg1 = arg1arg2 = arg2arg3 = "arg3 with space".
libham
Функция ham_action_restart() используется для добавления действия (aname) к заданному условию. При добавлении действие перезапустит "умершую" программу.
![]() | Действия по перезапуску могут быть связаны только с CONDDEATH . Также обратите внимание, что может существовать только одно действие перезапуска для всех CONDDEATH в объекте. |
Командная строка, в свою очередь, передается HAM в команду spawn() для создания нового процесса, который будет выполнять команду.
Действие выполняется, когда срабатывает соответствующее условие.
Обратите внимание, что данное действие также запускает условие перезапуска в объекте.
Пользователи могут указать, что будет сделано, если действие не будет совершено. Такие действия добавляются в список. Для каждого несовершенного действия будет выполнен соответствующий список действий. Некоторые действия (например, ham_action_log() и ham_action_heartbeat_healthy()) гарантированно совершаются. Для получения дополнительной информации обратитесь к соответствующему разделу в Использование менеджера высокой готовности для вызовов ham_action_fail_*().
/
) или имеет значение NULL
. Не удалось подключиться к HAM. Это происходит, когда процесс, открывший соединение (используя ham_connect()), и процесс, вызывающий ham_action_execute(), не совпадают. _POSIX_PATH_MAX
(определено в <limits.h>
). Обратите внимание, что общая длина имени объекта/условия/действия также ограничена _POSIX_PATH_MAX
. В дополнение к вышеуказанным ошибкам HAM возвращает любую ошибку, с которой он сталкивается при обслуживании данного запроса.
ЗОСРВ «Нейтрино»
ham_action_execute(), ham_action_notify_pulse(), ham_action_notify_signal(), ham_action_remove(), ham_action_waitfor(), ham_condition(), ham_condition_handle()
Предыдущий раздел: Менеджер высокой готовности (HAM)