Le 27/02/2018 à 10:21, steve a écrit :
Salut,
Bonjour
Sur un Raspberry tournant sous raspbian, j'ai un script du genre #!/bin/sh raspivid [des option] | ffmpeg [d'autres options] (raspivid permet de contrôler une caméra) Le script tourne à l'infini (il permet de streamer une vidéo) Je lance ce script via une tâche cron. 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 ?
timeout 30 sh -c 'raspivid [des options] | ffmpeg [d'autres options]' ? -- Daniel