2008-11-15 5 views
2

On m'a demandé de trouver un moyen de me connecter à partir d'un système Linux à l'un de plusieurs serveurs Windows. Ce que nous devons idéalement faire est de nous connecter à tout ce que le serveur Windows est à l'origine du problème, de tuer un processus et de redémarrer le processus. Idéalement, ce pourrait être quelque chose qui pourrait être mis dans un script qui pourrait être exécuté à partir de l'ordinateur Linux. Toutes les solutions que j'ai trouvées jusqu'ici impliquent une sorte de connexion de bureau à distance, mais comme je l'ai dit, une solution de ligne de commande est préférable? Est-ce possible? Et je m'excuse ... pas tout à fait une question de programmation, mais je suis à bout de nerfs.Connexion de Linux à Windows pour effectuer une tâche

Répondre

1

Utilisez cygwin + openssh + windows services pour obtenir un utilisateur SSH sur la machine.

Une fois que vous êtes dans une ligne de commande SSH, vous pouvez utiliser des outils standard Win32 pour tuer un processus, par exemple -

taskkill /f /im notepad.exe 

ou ajouter d'autres commandline process tools pour Win32.

EDIT: vous pouvez simplement utiliser ps -elW pour afficher tous les processus Windows, puis passer ce PID dans taskkill.

+0

Hmm ... cela peut-il fonctionner avec l'installation de OpenSSH sans Cygwin évoquée plus haut? Si oui, je pense que cela pourrait fonctionner. Je ne sais pas avec certitude jusqu'à lundi, cependant: D –

2

J'utilise Cygwin avec le serveur OpenSSH sur le boîtier Windows (but it is available without Cygwin in an installer), et je peux me connecter via SSH depuis la machine Linux pour faire des choses avec une ligne de commande. Je ne tue pas les processus, je fais des builds. Mais le même concept s'applique. Ps/kill par défaut de Cygwin ne vous permet pas d'accéder aux processus Windows pour les tuer.

+0

J'ai suggéré Cygwin au gars en charge du projet. Il ne pensait pas que l'installer sur chacun des serveurs Windows juste pour cela en valait la peine. –

+0

Vous n'avez pas nécessairement besoin de la totalité de cygwin, juste rshd/sshd et cygwin.dll - Je fais une chose similaire avec rsyncd sur Windows. –

2

This prétend être un port des Sysinternals psexec, je ne l'ai pas utilisé, mais psexec est grand

Questions connexes