Bonjour tout le monde,
avant toute chose, sachez que j'ai passé la journée à faire des recherches et des essais, maintenant je me retourne vers vous pour tenter de trouver la solution !
Le contexte :
Un PC distant sous Linux (Debian 7.6.0) sur lequel le serveur ssh tourne et est bien configuré.
Un PC local sous Windows, avec openssh et putty en place.
Je cherche à exécuter sur la machine distante un exécutable et j'aimerais qu'il continue à tourner malgré la fermeture de la session putty.
Mon programme à une sortie texte (stdout) pour les traces, mais ceci m'importe peu. Quand je fais le lancement à distance, tout s'exécute mais : je reste bloqué dans ma console DOS sur ma machine locale, et si je quitte, ça kill le process. (j'utilise ps -ef sur la machine distante pour vérifier que le processus est toujours actif)
Pour exécuter mon programme, j'utilise plink.exe avec la commande suivante :
plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "sudo /home/utilisateur/workspace/prog/Debug/prog"
La ça tourne, je vois en local ce qui est exécuté en distant, mais si je fais un Ctrl+C, forcément ça ferme le programme et rend la main.
Alors j'ai essayé, de faire :
plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "sudo /home/utilisateur/workspace/prog/Debug/prog &" => Sans succès
plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "nohup sudo /home/utilisateur/workspace/prog/Debug/prog" => sans succès
plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "nohup sudo /home/utilisateur/workspace/prog/Debug/prog &"
plink -v -l utilisateur -pw mot_de_passe -ssh adresse_ip -t "sudo /home/utilisateur/workspace/prog/Debug/prog > /etc/null" (et les variantes autour...) => sans succès
Et j'ai même fait un fichier de commande pour le faire exécuter à plink (option -m) et un script sh.
Mais rien n'y fait, ou ça me bloque dans l'exécution de mon programme, ou ça le kill directement ou ça ne le démarre même pas.
Avez-vous une idée de comment l'exécuter sur la machine distante, qu'il reste actif, et que je puisse continuer à dérouler des commandes plink, puis même à ferme la session ?
L'autre solution est de passer par (open) ssh, mais le problème est le mot de passe obligatoire, mon besoin est de lancer un script (batch) sous Windows, puis faire tourner des process sur le PC distant.
J'ai bien essayé aussi avec une clé publique, mais ça ne change rien.
Je vous remercie d'avance pour cette contribution, et je pense que ça peut intéresser pas mal de monde tout ça
A +
nbrau
Partager