mehrere Programme beenden



  • Aloha,

    für mein Projekt ist es erforderlich, dass meine Anwendung wenn sie durch
    den Benutzer beendet wird, eine beliebige Anzahl Programme "abschießt".

    Diese Programme sind vom Anwender zuvor bestimmt worden und werden
    aus einer konfig.ini ausgelesen.

    Jetzt ist die Frage wie ich das am besten löse. Es können ja theoretisch 30 oder mehr Programme sein.
    Packe ich alles aus einer ini in ein Array und knipse dann einfach auf
    Verdacht alles aus?

    Warner


  • Mod

    Und warum willst Du die "auskippsen"?
    Willst Du siekontrolliert beenden? Oder einfach terminieren?



  • Es sind Module, die keine relevanten daten beinhalten, also absolut unkritische
    Prozesse. Es reicht sie ganz brutal abzuschießen. Da bleibt von den Modulen auch nichts im Speicher zurück.


  • Mod

    Warner schrieb:

    Es sind Module, die keine relevanten daten beinhalten, also absolut unkritische
    Prozesse. Es reicht sie ganz brutal abzuschießen. Da bleibt von den Modulen auch nichts im Speicher zurück.

    Das denkst Du! Wenn da nur ein Mutex oder Semaphore im Spiel ist hast Du Pech gehabt.

    Nein! Was tun diese Module. Warum kann man denen nicht per Nachricht oder Event ihr "Ende" signalisieren?



  • Hmm, da hast du evtl recht. Ich sende einfach ein WM_CLOSE, oder?
    Dann sollte das Programm doch von selbst aufräumen afaik.

    Wie ist das mit nicht Systemprozessen, die irgendwie geschützt sind? Wir nutzen hier eine gängige Software-
    Firewall, die uns bei jedem zweiten Neustart (erfolgt via Remotezugriff)
    beim runterfahren einfach hängen bleibt (Neustart erfolgt nicht, Rechner hängt).

    Bislang konnten wir die zuvor einfach abschießen, indem wir den Prozess
    brutal terminiert haben. War ja egal, da der Rechner eh neustarten sollte
    und sie sich dann wieder läd.

    Pech ist nun nur, dass der Hersteller das neuerdings verhindert.
    "Zugriff verweigert". Was ja nur für das Produkt spricht, für uns aber sehr schlecht ist, da nun immer
    jemand erst ettliche Prozesse und Dienste stoppen muss ehe man den Neustart einleiten kann.

    Das Produkt wollten wir nicht wechseln, da wir damit ansonsten wirklich sehr
    gute Erfahrungen gemacht haben.


  • Mod

    Wenn das programm ohne Frage bei WM_CLOSE beendet, dann ja. Gilt aber nicht für Services und Consolen Programme.

    Ich vermute, dass die Firewall als Service läuft.
    Wenn der Service nicht zu Beenden ist, dann hast Du nicht genügend Rechte. Sprich der Service läuft in einem Kontext in dem Du als normaler Anwender ihn nicht beenden kannst. Dan nützt da gar nichts, außer sich die Rechte zu besorgen.

    Aber ich garantiere Dir, dass dies Deine Probeleme nicht behebt. Wenn Du solche "tiefen" Dienste abschießt, dann kann die hälfte Deines System mit in den Keller gehen.


Anmelden zum Antworten