[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: Envoi de commandes bash à partir d'un programme



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Le May 10, 2004 04:30 pm, Eric Parent a écrit :
> Bonjour,
>     J'ai pensé vous demander un coup de main pour trouver de la
> documentation ... Je dois trouver un moyen d'automatiser des commandes
> envoyées vers un serveur Unix et je dois automatiser les commandes
> envoyées via un tunnel ssh, sélectionner un ou plusieurs fichiers et les
> télécharger ensuite.
>     Des prises de décisions peuvent être prises par un programme quant
> aux différents fichiers à télécharger et les fichiers à télécharger
> seront ensuite désignés par une ou plusieurs chaînes de caractères.
>     Savez-vous s'il existe des commandes (autres qu'en script avec bash
> ou sh) qui pourraient m'aider ? Que ce soit en C ou autre chose... Des
> librairies DLL pourraient être intéressantes parce qu'accessibles par un
> interface graphique sous Windows par exemple.
>
> Par exemple, le genre de fonction qui me plaîrait serait du genre à ceci
>
>
> void envoyerCommandeSSH(char * ligneCommande, int * err);
> char * recevoirCommandeSSH(int * err);
>
>     Si vous avez de la documentation à me suggérer ou des pistes qui
> pourraient m'aider à trouver de l'information, je vous en serais
> reconnaissant. Jusqu'à présent, mes recherches sur le net se sont
> avérées vaines... Peut-être est-ce simplement que les mots clés que j'ai
> utilisés ne sont pas les bons !
>
> Sincèrement,
>
> Eric

Tout depend de ce que tu veux faire... Mais il semble que tu vas avoir besoin 
d'ecrire ton propre 'Wrapper' pour SSH si tu veux utiliser C ou C++... Un peu 
comme le KioSlave de KDE: Fish, Files over SSH...
http://docs.kde.org/en/3.2/kdebase/kioslave/fish.html
Ou celui de Midnight Commander (le nom m'echappe)

Tu peux creer un autre processus "ssh user@nomduserver" et gerer les I/O de ce 
processus avec le processus graphique pour donner l'illusion que c'est 
l'interface qui fait le travaille...
c'est possible sur Unix (Linux) avec les commandes (en C) 'fork()' pour creer 
un processus et 'dup2()' pour rediriger STDIN, STDOUT et STDERR....
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFAoYDfEnuUV8SjQ4oRAtoSAJwNaY8U+RwRnOm78CnwO7qpvAuFmwCgg+gp
hpu5wSHPhAfJOE6qu5L0Wx0=
=2pcG
-----END PGP SIGNATURE-----