Remote Prozesse killen



  • Hi!

    Ich habe bei mir zu Hause einen Rechner, auf dem Win2k + SP3 läuft.
    Nun würde ich gerne eine Client-Server Anwendung schreiben, mit deren Hilfe ich von meinem Laptop (FreeBSD 6.0) einen Prozess auf dem Win-PC beenden kann.

    Beispiel:
    Auf dem Win-PC läuft ein Prozess mit dem Namen "test.exe" und mein Server-Programm "server.exe".
    Auf dem Laptop starte ich nun mein "client"-Programm und gebe die IP des Win-PCs sowie den Namen des Prozesses ("test.exe") an, den ich beenden möchte.

    Leider habe ich keine Idee, wie man so etwas umsetzen könnte.

    Ich kann recht gut C/C++ unter FreeBSD programmieren, allerdings sieht es mit meinen Win-Kenntnissen eher schlecht aus.

    Wäre schön, wenn jemand Ideen hätte oder vielleicht sogar eine Lösung für das Problem. 🙂

    MfG Moltar

    PS: Ich hoffe, ich hab das richtige Forum erwischt 😉





  • Hierzu gibt es AFAIK keine dokumentierte (offende) Schnittstelle (ausser WMI)...
    Das einfachste ist, Du schreibst einen Server-Prozess auf dem Client-Rechner und teilst diesem mit was er beenden soll...



  • Danke für deinen Tipp.

    So weit ich das sehe, öffne ich mir mit WMI allerdings nicht nur die Möglichkeit einen Prozess zu beenden, sondern direkt eine ganze Menge mehr Funktionen, die lediglich Sicherheitsprobleme darstellen. Was ich wollte ist ein kleines Programm, dass lediglich die Möglichkeit hat, einen Prozess zu beenden.

    Als Kommunikationsgrundlage würde ich z.b. TCP/IP verwenden und damit an den Win-PC einen String schicken, der einen Identifizierungsstring und den Namen des zu beendenden Prozesses enthält.

    Sollte ich da irgendwas falsch verstanden haben, bitte korrigiere mich.
    Wie gesagt, mit meinen Windows-Kenntnissen sieht es eher schlecht aus...

    MfG Moltar



  • Moltar schrieb:

    Als Kommunikationsgrundlage würde ich z.b. TCP/IP verwenden und damit an den Win-PC einen String schicken, der einen Identifizierungsstring und den Namen des zu beendenden Prozesses enthält.

    Ja. Du musst halt einen Prozess schreiben, der auf einem TCP-Port lauscht und dann (von jedem) einen Befehl zum Killen annimmt...



  • Und genau da stellen sich meine zwei Hauptprobleme:
    - Wie schreibe ich für Win2k einen Server-Prozess, so dass kein Fenster und kein Tray-Icon entsteht und
    - Wie realisiere ich in diesem Prozess (möglichst ohne Installation weiterer Bibliotheken, Tools, oder Ähnliches), dass er einen anderen Prozess (dessen Namen ich kenne) beendet.



  • Moltar schrieb:

    - Wie schreibe ich für Win2k einen Server-Prozess, so dass kein Fenster und kein Tray-Icon entsteht und

    Consolen-Application oder Service !?
    http://codeproject.com/system/serviceskeleton.asp

    Moltar schrieb:

    - Wie realisiere ich in diesem Prozess (möglichst ohne Installation weiterer Bibliotheken, Tools, oder Ähnliches), dass er einen anderen Prozess (dessen Namen ich kenne) beendet.

    socket-Operationen um die Befehle entgegen zu nehmen und WM_CLOSE an die passende Anwendung schicken, die zu beendet ist (oder TerminateProcess).


Anmelden zum Antworten