Я использую простой цикл для перезапуска процесса, если он умирает. Иногда я видел остановку цикла, чего, конечно, не следует делать. Что может быть причиной этого? Я использую низкоуровневый узел/vps, работающий с ubuntu 14. Спасибо. :)Зачем цитировать?
Это цикл, который я использую.
#!/bin/bash/
period=${1:-60}
while :
do
sleep 20 &
sh restart.sh
wait
done
Это restart.sh .. это отбирает ток PID из «FFmpeg», и если его не нашли, он повторно запускает команду FFmpeg, который распространял свою собственную интернет радиостанцию, которую я могу потом слушать в любом месте :)
#!/bin/bash/
pgrep ffmpeg
if [ $? -ne 0 ]
then killall ffmpeg
killall rtmpdump
sleep 1
nohup ffmpeg (a bunch of ffmpeg stuff) &
fi
Так что говорят это может быть проблема с FFmpeg висящей/замораживанием, а затем цикл умирающим из? Есть ли способы улучшить то, что я здесь делаю? TBH Я всего лишь месяц в Linux и неделю в bash, так что это лучшее, что я мог бы сделать.
Спасибо за помощь, это было очень полезно!
Ваши делают объяснения много смысла !! Я ценю это. Я добавил дополнительную информацию на главный пост, если это поможет. Независимо от того, пересматриваете ли вы этот пост, я буду отмечать как правильный anwser позже. Благодаря!! :) – User8341288564