[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Tuer un script après une durée fixe



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


Reply to: