Я видел программы мониторинга либо в сценариях, которые периодически проверяют статус процесса с помощью 'ps' или 'service status (в Linux)', либо в C / C ++, который разветвляется и ждет процесса ...
Интересно, можно ли использовать bash с ловушкой и перезапустить подпроцесс при получении SIGCLD?
Я протестировал базовый пакет в RedHat Linux со следующей идеей (и, конечно, это не сработало ...)
#!/bin/bash
set -o monitor # can someone explain this? discussion on Internet say this is needed
trap startProcess SIGCHLD
startProcess() {
/path/to/another/bash/script.sh & # the one to restart
while [1]
do
sleep 60
done
}
startProcess
то, что запускаемый сценарий bash просто спит на несколько секунд и пока завершается.
Наблюдалось несколько проблем:
... в любом случае, это не работает вообще. Я должен сказать, что слишком мало знаю об этой теме. Может кто-нибудь предложить или привести несколько рабочих примеров? Существуют ли сценарии для такого использования?
как насчет использования wait в bash?
Спасибо