Pausar um loop no Linux

0

Estou usando o código a seguir para executar o loop ffmpeg no meu servidor Linux.

Isso é o que eu tenho:

#!/bin/bash
while :; do
    ffmpeg -re -i "input" output.mp4
done

O que eu gostaria de fazer é pausar o loop para que ele pare o loop até que eu queira retomar, atuando como 'off' e 'switch' para o fluxo sem ter que reinicializar o servidor toda vez:)

    
por WEB X 19.02.2017 / 09:28

1 resposta

2

Tente isto:

#!/bin/bash

echo 'Press "s" to pause loop or Ctrl+c to stop'
n=1 
while true; do
    read -r -t 0.5 -n 1 -s stop
    [ -n "${stop}" ] && {
      read -p 'Paused... press Enter button for continue' x
    }

    ffmpeg -re -i "input" output.mp4

    n=$(( n+=1 ))
    echo "Loop Counter: ${n}"
done
    
por 19.02.2017 / 10:02