Bonsoir, On 02/27/2018 05:38 PM, steve wrote:
> C'est en tout cas intéressant et je n'y avais pas du tout pensé. Il > faudrait pour cela écrire un fichier /etc/systemd/system/macamera.service > contenant quelque chose comme > > [Unit] > Description=Mise en marche de la caméra > > [Service] > Type=idle > ExecStart=$HOME/bin/script.sh > RuntimeMaxSec=15 # en secondes > > [Install] > WantedBy=multi-user.target > > avec un fichier correspondant /etc/systemd/system/macamera.timer > > [Unit] > Description=Heure de lancement > > [Timer] > OnCalendar=10:00:00 # à 10h le matin > [Install] > WantedBy=timers.target Faire du script un daemon me semble aussi une très bonne idée. Et pour le coup, on peut sans doute dire beaucoup de choses sur systemd, mais faire d'un petit script (qui ne forke pas) un daemon est vraiment très simple. Personnellement, je laisserais de côté les RuntimeMaxSec and co pour faire au plus simple (ie un daemon qui doit être UP H24) et je gérerais la plage d'exécution de la commande directement dans le script shell avec un truc dans ce genre là (non testé hein) : ---%<-------%<-------%<-------%<-------%<-------%<--- #!/bin/sh # Imaginons qu'on veuille que le « machin » tourne # entre 17h30 et 18h30 (choix au pif). start_time=1730 stop_time=1830 while true do # Petite pause de 30 secondes... sleep 30 now=$(date +"%H%M") # On teste si on a : 17h30 =< now < 18h30. Si c'est le cas, alors # il faut lancer la commande. if [ "$now" -ge "$start_time" ] && [ "$now" -lt "$stop_time" ] then delta=$((stop_time - now)) # Ici on met la commande qui-va-bien avec le timeout. raspivid [options] | timeout -s KILL "${delta}m" ffmpeg [autres options] fi done ---%<-------%<-------%<-------%<-------%<-------%<--- À+ -- François Lafont