Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/02/2007, à 07:58

Chaussette

"system(prog &)" Met prog en tache de fond. Mais comment l'arrêter ?

Tout est dans le titre !


Je lance une commande en tache de fond depuis un programme c, avec la fonction system();
Mais lorsque je fais 'jobs' : rien .

A par un bon gros "killall mon pogramme" rien ne l'arrête.
Et puis je voudrais pouvoir le remettre en premier plan.

Est-ce que vous n'auriez pas une petite idée la dessus !?
merci d'avance.

Dernière modification par Chaussette (Le 04/02/2007, à 08:22)


Les clowns se marient en grande pompes

Hors ligne

#2 Le 04/02/2007, à 12:05

ePi

Re : "system(prog &)" Met prog en tache de fond. Mais comment l'arrêter ?

il faut que tu lui envoies un signal, genre SIGINT, SIGTERM. et dans ton prog que tu lances en tâche de fond, tu déroutes le signal pour fermer l'appli proprement à la réception.

envoi d'un signal :

kill(pid_du_programme, type_signal); //avec type_signal=SIGINT par exemple

déroutement du signal (à placer dans le prog en tâche de fond):

signal(type_signal, fonction_interruption);

//il faut déclarer avant la fonction d'interruption
void fonction_interruption () {

//le code à éxécuter à la réception du signal
}

n'oublie pas d'inclure signal.h et voilà smile

par contre je pense pas que c'est possible de le remettre au premier plan, puisque c'est le principe même d'une tâche de fond smile

#3 Le 04/02/2007, à 20:02

Chaussette

Re : "system(prog &)" Met prog en tache de fond. Mais comment l'arrêter ?

Salut,

le programme que je lance est en fait cette commande

"mplayer -msglevel all=-1 "addresse d'un flux" ".

"déroutement du signal (à placer dans le prog en tâche de fond)"
Du coup ça je ne peux pas le faire.

Je cherche juste a lancer un lecteur sur un flux, sans que mon programme ne s'arrête.

Dernière modification par Chaussette (Le 04/02/2007, à 20:05)


Les clowns se marient en grande pompes

Hors ligne

#4 Le 06/02/2007, à 22:37

Chaussette

Re : "system(prog &)" Met prog en tache de fond. Mais comment l'arrêter ?

http://www.dil.univ-mrs.fr/~massat/ens/docs/thread.html


Ben vi, les thread. Mais je ne savais pas ce que c'était jusqu'à aujourd' huit!

Je vais donc m'attarder sur le sujet. L'exemple donné laisse entrevoir un sujet intéressant, et puis je vais pouvoir avancer facilement, comme ça.

c'est tout :)


Les clowns se marient en grande pompes

Hors ligne

#5 Le 13/02/2007, à 20:02

ekra

Re : "system(prog &)" Met prog en tache de fond. Mais comment l'arrêter ?

Bonjour,

fg
ou fg JOB (ou PID je sais plus tongue)


PTC !
GPG Key ID = 5518CFC7

Hors ligne