Я слежу за mysqld с помощью monit, но я бы хотел, чтобы, если я остановлю monit, служба mysqld также остановится.
Самый простой способ сделать это - изменить Monit init.d
сценарий, чтобы также остановить mysqld
. Основная проблема заключается в том, что будущие обновления пакета Monit могут перезаписать ваши изменения.
В качестве альтернативы вы можете написать свой собственный init.d
сценарий, который управляет mysqld
и monit
, и используйте это вместо предоставленного init.d
скрипты.
Вы принципиально не можете и не должны этого хотеть, потому что monit так не устроен. Monit, как следует из названия, мониторинг система, которая имеет встроенную логику автоматического решения проблем. Я также не могу представить, почему вы хотите сделать что-то подобное, поэтому я не могу дать вам альтернативные решения для вашего актуальный проблема.
Это может быть немного упрощенно, но задумывались ли вы об этом:
создать сценарий, который просто останавливает / запускает обе службы одновременно, и использовать его для их вызова вместо обычных сценариев init.d?
Вы можете поместить их в свою папку bin, если хотите иметь возможность запускать их как команду.
Это потому, что вы хотите остановить MySQL и провести техническое обслуживание или что-то еще?
Если так, просто:
'monit unmonitor name_of_service_check_here'
... и monit оставит это как есть. Если вы настроили файл состояния монитора (по умолчанию /var/.monit_state или что-то в этом роде), то monit запоминает unmonitors и тому подобное даже после перезагрузки. Вы также можете попробовать статус мониторинга, чтобы увидеть текущий статус для всех или одной данной проверки:
monit status
Как сказал Уомбл, начните с объяснения, какая у вас проблема, вместо того, чтобы сосредоточиться на одном (возможно, плохом) обходном пути.