Salut,

pour ma part j’exécute mes script avec systemd avec l'option
|RuntimeMaxSec| qui permet de définir un temps d’exécution du script
avant de la tuer (et mit en état d’échec).

Si cela peut être une solution ?


Le 27/02/2018 à 10:21, steve a écrit :
> Salut,
>
> 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 ?
>
> Merci
> S
>

Répondre à