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
|