System( une_commande &);
Je suis une libellule !
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour au bleu pays et à ses habitants. :)
Je suis confronté a un petit problème de tâche sous Linux.
En effet je programme en C un petit bout de code qui doit a un moment donné lancer un programme tout en continuant a tourner.
Ce petit programme est mplayer ("mplayer -msglevel all=-1 "addresse d'un flux" ) et pour le moment (moment très bof) je fais comme ceci :
system ( mplayer_blabla & );
Ce qui marche bien :
-Effectivement mplayer_blabla se lance en tâche de fond, et mon programme continu a tourner.
Ce que je ne sais pas faire :
Arrêter mplayer_blabla.
Deplus la commande 'jobs' ne me renvoie rien du tout.
Pour le moment mes tests ne peuvent que se terminer a coup de KILLALL mais on éteint pas une marguerite avec un allume cigare.
Voilà, je ne sais pas trop comment m'en tirer. Peut-être existe-t'il une autre solution que de passer par la fonction system(); , ou vaut'il mieux faire appel directement a Gstreamer.
Je prend tout !
Merci d'avance
bzzzzZZZZzz..
Je suis confronté a un petit problème de tâche sous Linux.
En effet je programme en C un petit bout de code qui doit a un moment donné lancer un programme tout en continuant a tourner.
Ce petit programme est mplayer ("mplayer -msglevel all=-1 "addresse d'un flux" ) et pour le moment (moment très bof) je fais comme ceci :
system ( mplayer_blabla & );
Ce qui marche bien :
-Effectivement mplayer_blabla se lance en tâche de fond, et mon programme continu a tourner.
Ce que je ne sais pas faire :
Arrêter mplayer_blabla.
Deplus la commande 'jobs' ne me renvoie rien du tout.
Pour le moment mes tests ne peuvent que se terminer a coup de KILLALL mais on éteint pas une marguerite avec un allume cigare.
Voilà, je ne sais pas trop comment m'en tirer. Peut-être existe-t'il une autre solution que de passer par la fonction system(); , ou vaut'il mieux faire appel directement a Gstreamer.
Je prend tout !
Merci d'avance
bzzzzZZZZzz..
A voir également:
- System( une_commande &);
- Reboot system now - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- System fan 90b - Forum Matériel & Système
- Hns-accessible-system-folder ✓ - Forum Virus
- Advanced system care - Télécharger - Optimisation
5 réponses
Salut.
regarde du coté de exec ou plutôt de "spawn"
https://docs.microsoft.com/en-us/
ça fonctionne sous windows et aussi sur linux.
Sinon, tu peux passer par un thread contenant un exec, et lorsque tu veux tuer le processus, tu tue le thread (sans garantie)
regarde du coté de exec ou plutôt de "spawn"
https://docs.microsoft.com/en-us/
ça fonctionne sous windows et aussi sur linux.
Sinon, tu peux passer par un thread contenant un exec, et lorsque tu veux tuer le processus, tu tue le thread (sans garantie)
Merci :)
Je suis allé y faire un tour et oulà ! Après le dodo ce sera mieux je pense .
Je vous tiendrai au courant de la chose. Voilà .
Je suis allé y faire un tour et oulà ! Après le dodo ce sera mieux je pense .
Je vous tiendrai au courant de la chose. Voilà .
Bonjour,
je viens de tomber sur ceci :
http://pages-perso.luminy.univ-amu.fr/erreur.php?code=404
Donc les thread, c'est ce que je cherchais.
Maintenant que j'ai le mot clé je vais pouvoir avancer :)
Merci encore, et joyeux futur mi de l'an :)
je viens de tomber sur ceci :
http://pages-perso.luminy.univ-amu.fr/erreur.php?code=404
Donc les thread, c'est ce que je cherchais.
Maintenant que j'ai le mot clé je vais pouvoir avancer :)
Merci encore, et joyeux futur mi de l'an :)
"Sinon, tu peux passer par un thread contenant un exec, et lorsque tu veux tuer le processus, tu tue le thread (sans garantie) "
Le problème c'est que pour tuer le thread je n'ai vu que deux solutions :
1 : Le thread se suicide avec pthread_exit .
2 : Un aute thread (ou le père) le tue avec pthread_setcancelstate .
Mais dans les deux cas le thread qui va être tué teste les conditions d'appel a sa destruction.
Hors si je lance un exec dans le thread, celui-ci sera bloqué tant que l'exec ne sera pas terminé.
Donc je vois deux solutions : (http://pficheux.free.fr/articles/lmf/threads/
1 : Je trouve le moyen de parler cet exec pour lui fournir en paramètre ce qu'il a l'habitude de recevoir.
2 : J' RTFM Gstreamer pour implémenter dans mon thread un lecteur made in moi ; solution alternative élégante certes, mais de mon niveau ? Je ne sais pas.
Voili voilouche . COIN!
Le problème c'est que pour tuer le thread je n'ai vu que deux solutions :
1 : Le thread se suicide avec pthread_exit .
2 : Un aute thread (ou le père) le tue avec pthread_setcancelstate .
Mais dans les deux cas le thread qui va être tué teste les conditions d'appel a sa destruction.
Hors si je lance un exec dans le thread, celui-ci sera bloqué tant que l'exec ne sera pas terminé.
Donc je vois deux solutions : (http://pficheux.free.fr/articles/lmf/threads/
1 : Je trouve le moyen de parler cet exec pour lui fournir en paramètre ce qu'il a l'habitude de recevoir.
2 : J' RTFM Gstreamer pour implémenter dans mon thread un lecteur made in moi ; solution alternative élégante certes, mais de mon niveau ? Je ne sais pas.
Voili voilouche . COIN!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question