Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5208 connectés 

  FORUM HardWare.fr
  Programmation
  C

  garder la main sur un process lance

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

garder la main sur un process lance

n°1753359
yartempion
Posté le 30-06-2008 à 12:26:27  profilanswer
 

Bonjour,
Je cherche a garder la main sur un programme que je lance avec la commande systeme ou exec ou autre.
Par exemple sous unix il existe un client ssh je voudrai le lancer mais garder la main sur ce process.
Comment faire.

mood
Publicité
Posté le 30-06-2008 à 12:26:27  profilanswer
 

n°1753360
Elmoricq
Modérateur
Posté le 30-06-2008 à 12:29:43  profilanswer
 

Qu'appelles-tu "garder la main", je n'ai pas bien compris ton post. T'es en C et tu veux lancer une commande et continuer ton programme malgré tout ?


Message édité par Elmoricq le 30-06-2008 à 12:30:15
n°1753367
yartempion
Posté le 30-06-2008 à 12:44:46  profilanswer
 

Par exemple je veux lancer un com avec un routeur avec ssh.
Si je lance  avec system() je n'ai pas la main sur le programme que je lance si je tape une commande ele sera d'abor interprétée par le shell avant d'etre interprétée par le routeur.

n°1753379
matafan
Posté le 30-06-2008 à 13:11:27  profilanswer
 

Respire un grand coup et explique mieux que ça, en français, avec de la ponctuation, et en gardant à l'esprit qu'on ne lit pas dans tes pensées.

n°1753412
Elmoricq
Modérateur
Posté le 30-06-2008 à 13:55:51  profilanswer
 

yartempion a écrit :

Par exemple je veux lancer un com avec un routeur avec ssh.
Si je lance  avec system() je n'ai pas la main sur le programme que je lance si je tape une commande ele sera d'abor interprétée par le shell avant d'etre interprétée par le routeur.


 
Ah oui mais non. Si tu lances un shell dans ton programme, JAMAIS tu ne pourrais récupérer la commande dans ton programme. C'est le shell qui va l'interpréter.

n°1753988
yartempion
Posté le 01-07-2008 à 14:30:33  profilanswer
 

Resalut,
iIl n'existe aucun moyen de lancer un parocess et de lui rediriger son entrée ou sortie de flux sur le process qui l'a lancé pour lui envoyer des données?

n°1754221
stzup7
Posté le 01-07-2008 à 20:04:33  profilanswer
 

oui c'est possible
tu dois créer un pipe dans lequel le programme appelé ira lire

n°1754232
Elmoricq
Modérateur
Posté le 01-07-2008 à 20:24:51  profilanswer
 

Tu peux ouvrir un pipe avec popen().
 
Par contre, le flux d'un pipe est unidirectionnel : soit tu lis à partir de la sortie d'un processus, soit tu écris dans l'entrée standard du processus. Tu ne peux pas faire les deux en même temps.

n°1754242
stzup7
Posté le 01-07-2008 à 20:52:25  profilanswer
 

personnellement j'aurai utilisé pipe(), n'ayant jamais utilisé popen() auparavant.
fais selon tes besoins
 
EDIT : popen forke et crée le pipe lui même, il est en effet plus simple à utiliser.


Message édité par stzup7 le 01-07-2008 à 20:54:09
n°1754267
Elmoricq
Modérateur
Posté le 01-07-2008 à 22:04:57  profilanswer
 

Par contre popen c'est POSIX.2, alors que pipe c'est POSIX.1.
Selon sa plateforme, il n'aura peut-être que pipe() à disposition.

mood
Publicité
Posté le 01-07-2008 à 22:04:57  profilanswer
 

n°1754445
yartempion
Posté le 02-07-2008 à 10:42:54  profilanswer
 

Salut,
Merci a vous je vais me lancer dans l'etude approfondis des tubes et faire des tests et je vous recontacte pour le résultat des courses. A+

n°1755056
matafan
Posté le 03-07-2008 à 13:52:31  profilanswer
 

J'ai toujours pas compris ce que tu voulais faire, mais c'est pas grave.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  garder la main sur un process lance

 

Sujets relatifs
[IE]Champ de formulaire qui refuse de garder le focus[general] Comment structurer un programme sans main
Bloqué :Comment définit on que le pt d'entre est MAIN ou autre chose ?garder la fin d'une adresse url
Coup de main pour un triggerJe me lance dans la programmation
Problème lecture flux output processproblème d'affichage dans un thread différent du main
include PHP: garder le chemin du module intégréGarder les 2 premiers caractères d'un champ
Plus de sujets relatifs à : garder la main sur un process lance


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)