#1 Le 28/01/2008, à 17:42
- JérémieR
Problème de lancement d'une application depuis un thread
Bonjour à tous,
Je souhaite lancer un film depuis un thread qui est contenu dans mon éxécutable. (J'espère que c'est compréhensible).
Ce film je le lançe grà¢ce à la commande:
system("mplayer /www/video/yop.MOV -ac mad")
Mais le problème c'est que je n'arrive pas à tuer ce processus. C'est pourquoi j'avai eu l'idée de créer un thread qui lançait cette commande, en me disant que si je tuai le thread, je tuai aussi mplayer.
Cependant cela ne marche pas, et en lisant le man system j'ai cru comprendre que celui-ci n'acceptai pas les signaux de fin(SIGKILL et cie).
Donc j'ai essayé avec exec et toute la tribu mais là , je n'ai pas réussi à les mettres en oeuvre. Avec et sans tableau d'argument.
Donc si quelqu'un pourrait m'expliquer comment on les utilise ou me donner une solution pour tuer ce mplayer.
Je vous remercie d'avance.
Je début en programmation système, soyez indulgent s'il vous plaà®t.
Hors ligne
#2 Le 29/01/2008, à 09:10
- Aurel34
Re : Problème de lancement d'une application depuis un thread
il est impossible d'ignorer SIGKILL, donc pas de pc de ce cà´té la...
sinon system est bloquant, et la restriction sur SIGCHLD et compagnie ne s'applique que pendant l'attente de la commande.
je crois comprendre qu'en fait su veux interrompre mplayer mais pas ton programme, c'est ça ?
une approche classique c'est en effet un "fork+exec". cherche un tutorial sur fork sur le net et tu devrais trouver ça sans problème (c'est l'équivalent du CreateProcess de Windows).
Si tu n'y arrives tjs pas, repose ta question et on verra
#3 Le 29/01/2008, à 10:13
- Karl_le_rouge
Re : Problème de lancement d'une application depuis un thread
De tête, je dirais que ça devrait ressembler plus ou moins à cela:
pid_t mplayer_pid = fork();
if(pid==0) {
execl("/usr/bin/mplayer", "/www/video/yop.MOV", "-ac", "mad", NULL);
perror("execl");
return EXIT_FAILURE;
}
(...)
kill(mplayer_pid, SIGTERM)
waitpid(mplayer_pid, 0, 0);
PS: cadeau
Hors ligne
#4 Le 29/01/2008, à 13:03
- JérémieR
Re : Problème de lancement d'une application depuis un thread
Et bien merci pour vos réponses, je vais essayer tout ça et je poste mes résultats.
Merci pour tout
Hors ligne