Bonjour, On 02/27/2018 10:21 AM, steve wrote:
> J'aimerais arrêter ce script après 30 minutes. Pour cela, j'ai trouvé la > commande timeout du paquet coreutils. J'ai donc modifié le script ainsi: > > timeout 30m raspivid [des options] | ffmpeg [d'autres options] > > En testant cette solution, je m'aperçois que la commande raspivid est > bien tuée après 30 minutes (j'ai pris des secondes pour mes tests), mais > pas la commande ffmpeg, qui est pipée. J'ai donc rajouté un autre > timeout devant ffmpeg comme ceci: > > timeout 30m raspivid [des options] | timeout 30m ffmpeg [d'autres option] > > Cette solution fait le job, mais je ne trouve pas très élégant > d'utiliser deux timeout. Ce serait mieux de tuer le script lui-même que > chaque commande à l'intérieur du script. Mais je ne vois pas comment > faire. > > Idées, suggestions ? Je pense que tu devrais mettre le timeout sur la commande à droite du pipe uniquement (ie ffmpeg). Normalement, la commande à gauche du pipe (raspivid) devrait se stopper d'elle-même car elle recevra le signal SIGPIPE. -- François Lafont