monit - запуск программы (ffmpeg) в фоне
Привет!
Может сталкивался кто-то с такой ситуацией:
запускаю ffmpeg так (в одну строку, перенос для удобства чтения):
/bin/ffmpeg -loglevel verbose -re -fix_sub_duration -i 'тут ссылка на поток'
-c:a copy
-c:v copy
-c:s copy
-metadata:s:s:0 language=rus
-f mpegts 'udp://y.y.y.y:zzzz?localaddr=x.x.x.x&pkt_size=1316&ttl=32&buffer_size=1000000&bitrate=4500000'
> /dev/null 2>&1 < /dev/null &.
Всё ок, ffmpeg в фоне запускается, работает, запуск возвращает PID в ответ.
Переношу в конфиг monit в таком же виде (таймаут в конце на всякий случай):
check process ffmpeg
matching "ffmpeg"
start program = "/bin/ffmpeg -loglevel verbose -re -fix_sub_duration -i 'тут ссылка на поток'
-c:a copy
-c:v copy
-c:s copy
-metadata:s:s:0 language=rus
-f mpegts 'udp://y.y.y.y:zzzz?localaddr=x.x.x.x&pkt_size=1316&ttl=32&buffer_size=1000000&bitrate=4500000'
> /dev/null 2>&1 < /dev/null & " with timeout 20 seconds
Стартую monit, процесс ffmprg мониторится, всё ок.
Если завершить ffmpeg, monit это видит, пытается стартануть ffmpeg но в monit status - Execution failed | Does not exist. Есть какое-то решение средствами самого monit, без внешних скриптов?