Mplayer : arréter un enregistrement de flux avec cron

Bonsoir,
Après avoir réussi à enregistrer un flux vidéo grâce à mplayer, je souhaite mettre en place une tâche cron. Pour lancer l’ enregistrement pas de problème je pense, mais pour l’ arréter je ne vois pas trop comment faire.
J’ ai pensé à une tâche cron à la fin, avec :

  • /etc/init.d/mplayer stop

  • Killall mplayer.

  • J’ ai vu que certains utilisaient kill, mais je n’ ai pas bien compris le principe.

    Comment feriez vous ?

    Merci d’ avance, bonne soirée.

Dans /etc/init.d, tu ne trouveras que les scripts de gestion des services. mplayer n’est pas un service.
Pour l’arrêter brutalement un killall suffit.
Pour un peu plus de subtilité, tu peux passer un signal via killall.
Pour connaitre ceux que mplayer accepte

Salut piratebab merci pour ta réponse.

Très juste, je suis allé un peu trop vite.
Quand je fais un :

quit apparait entre autres. Maintenant, comment le mettre en place en ligne de commande. Je n’ ai pas trouvé d’ info sur la page de killall et pas de man pour cette commande, j’ ai donc fait un :

Qui a l’ air de fonctionner, c’ est ça ?
Bonne journée.

$ killall quit mplayer
se traduirait par interrompre le programme appelé “quit” et celui appelé “mplayer”.

Références à prendre en compte, le nom du programme ou son numéro PID
PID -> kill
nom -> killall

$ kill numéro PID
$ killall nom du programme

ici
$ kill pidof mplayer
$ killall mplayer

$ killall -s QUIT mplayer

-s comme “signal” , liste des signaux possibles obtenue par $killall -l

Killall semble d’ après ce que j’ ai vu sur certains posts, assez “brutal” , qu’ en est il exactement ?
Merci, bonne après midi.

Tu peux avoir plus d’un processus mplayer lancé.
Killall comme le nom l’indique les “tuera” tous, brutalement, sans distinction, sans discussion.

Wanted dead or … dead
Ordre est donné d’éliminer tous les suspects répondant à ce signalement : tout ce qui s’appelle “mplayer”.

$ killall Cricri
Avis de recherche
Signalement : s’appelle Cricri

Bilan : 750 femmes, 537 enfants, 2170 hommes “neutralisés” …

$ kill 88715
Avis de recherche : Cricri Chorizo
Signalement : homme 25 ans, taille 1m 82 , cheveux roux, yeux verts, porte un bouc, a un piercing à la lèvre
circule à bord d’un véhicule immatriculé AAA-BBB-CCC de marque ZZ modèle YY de couleur caca d’oie, perdu sa trace le 02 avril aux alentours de Bogota.

Bilan : OK, zero kill, Titi Salami en garde à vue, Cricri Chorizo à La Paz …

Tu peux récupérer le PID du mplayer juste lancé, pour stopper celui-ci avec un simple kill, et non killer tous les mplayer (si tu regardes un film en même temps, c’est pas cool).
Pour ça :

# commande d'enregistrement
mplayer -dumpstream -blablabla &
PID_MPLAYER=$! # là on récupère le PID de la commande précédente

Ensuite, tu récupères la valeur de PID_MPLAYER (avec un echo par exemple, ou tu le met dans un fichier, tout dépend de tes besoins en fait). Comme ça, tu pourras arrêter l’enregistrement avec un kill PID_MPLAYER. TU peux même mettre le tout dans un seul et même script!
Redemande si c’est pas clair :slightly_smiling:

kill et killall sont tout aussi brutal l’un que l’autre. C’est pour cela qu’on t’avais proposé d’utiliser kill ou killall pour passer à mplayer un signal moins brutal. Tu as le choix:

[quote]HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
[/quote]

à savoir que le signal “TERM” est plus doux, plus gentil que le signal “KILL” :049

[quote=“agentsteel”]à savoir que le signal “TERM” est plus doux, plus gentil que le signal “KILL” :049[/quote]Et le “QUIT”? :unamused: … vu qu’il est dans la liste… (c’est une vraie question… :wink: )

@etxeberrizahar: bravo pour ta description!!! :005 :118 :005 (tellement vraie et tellement drôle…)

:006

Ok pour passer par un signal, je vais faire comme ça.
Par contre pour le pid, comment puis je le récupérer, car dans mon cas, je passe par une tâche cron pour lancer mplayer, vu qu’ au moment ou je veux connaitre le pid de mplayer il n’ est pas lancé (c’ est juste pour info) .