Kai: Apache herunterfahren

Hallo,

hat jemand eine Idee, wie ich nach dem Schließen vom Internet Explorer den Apache herunterfahren lassen könnte. Ich starte mein Programm lokal über eine start.exe, dort wird der Apache gestartet und anschließend der Internet Explorer mit einer bestimmten Startseite geöffnet.

bei Windows XP konnte ich über die start.exe überprüfen, ob mein Prozess noch läuft. Bei Windows Vista ist der Internet Explorer wohl anders im Betriebssystem eingebettet, auf jeden Fall wird der Prozess durch das Öffnen in einem Tab vom Internet Explorer gestoppt und ich kann das nicht mehr über die start.exe überprüfen.

Hatte erst überlegt wenn man sagt dass der Nutzer auf einen Button klickt und dann ein Servlet aufruft, aber Servlets laufen ja nur wenn der WebServer läuft, da könnte es Probleme geben und außerdem kann der Benutzer ja auch das "x" zum schließen des Internet Explorers benutzen und onunload kann ich ja nicht benutzen, da dies auch beim aktualisieren ausgelöst wird. Hat jemand eine Idee?

Wäre echt super, wenn ihr mir weiterhelfen könntet!

Gruß Kai

  1. Vielleicht solltest du ein Vorhaben mal näher erläutern, evtl. gibt es eine andere Lösung.

    Um einen Event beim Schliessen eines Fensters auszulösen, wirst du über Windows direkt gehen müssen. Wie kann ich dir aber nicht sagen, mit Linux wäre das Problem für mich einfacher zu lösen.

    1. Finde eigentlich dass das recht genau erläutert wurde! Was für Informationen fehlen denn?

      Habe das mit dem Button und dem Servlet getestet, funktioniert natürlich nicht, denn wie soll er das Servlet ausführen, wenn ich den Apache stoppen will.

      wie gesagt bei XP funktioniert es, wenn ich bei meinem C++ Programm warte, bis der Prozess beendet ist, bei Vista ist der Prozess für ihn schon beendet, wenn der Internet Explorer startet und das nur weil der IE da eben mehr im Betriebssystem eingebettet ist und mein gestarteter Prozess wohl beendet wird, weil die Seite in einem Tab geöffnet wird und im Hintergrund ein neuer Prozess gestartet wird. Da es nicht wie früher über C++ funktioniert habe ich überlegt, ob es eine andere Lösung über Javascript/Java-Servlets gäbe oder ein C-Programm, das man beim Schließen des Programmes ausführt.

      Vielleicht weiß jemand eine andere Idee!
      LG Kai

      1. Finde eigentlich dass das recht genau erläutert wurde! Was für Informationen fehlen denn?

        WIESO du den Apache beenden willst.

        Habe das mit dem Button und dem Servlet getestet, funktioniert natürlich nicht, denn wie soll er das Servlet ausführen, wenn ich den Apache stoppen will.

        Welches Servlet? Ein Servlet ist ein Java-Programm mit einer praktisch beliebigen Funktion.

        Vielleicht weiß jemand eine andere Idee!

        Nicht bei der nicht vorhandenen Info. Du hast dein Problem zwar beschrieben aber nicht die Infrastruktur aussenrum. Der Apache selbst hat mit Servlets  auch nichts zu tun, sowas wird z.B. mit Tomcat realisiert und per Wrapper auf den Apache verbogen (mod_jk z.B.)

  2. hallo Kai,

    hat jemand eine Idee, wie ich nach dem Schließen vom Internet Explorer den Apache herunterfahren lassen könnte. Ich starte mein Programm lokal über eine start.exe, dort wird der Apache gestartet

    Was ist das für eine "start.exe", wo hast du die her? Selber geschrieben?

    bei Windows XP konnte ich über die start.exe überprüfen, ob mein Prozess noch läuft. Bei Windows Vista ist der Internet Explorer wohl anders im Betriebssystem eingebettet, auf jeden Fall wird der Prozess durch das Öffnen in einem Tab vom Internet Explorer gestoppt und ich kann das nicht mehr über die start.exe überprüfen.

    Wähle einfach die normale Startprozedur: über "Programme" das Submenü für Apache erstellen, darin ein Eintrag für "httpd -k stop". Gestartet wird Apache durch einen registry-Eintrag als Dienst, der auch über die Dinesteverwaltung manipuliert werden kann.

    Hatte erst überlegt wenn man sagt dass der Nutzer auf einen Button klickt und dann ein Servlet aufruft

    Apache kann keine Servlets ausführen.

    aber Servlets laufen ja nur wenn der WebServer läuft

    Servlets sind spezielle kleine Programme, die insbesondere mit Tomcat arbeiten. Mit deinem Apache haben die in aller Regel überhaupt nichts zu tun.

    Hat jemand eine Idee?

    Wie wärs mit der Apache-Dokumentation?

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
  3. Hallo.

    hat jemand eine Idee, wie ich nach dem Schließen vom Internet Explorer den Apache herunterfahren lassen könnte. Ich starte mein Programm lokal über eine start.exe, dort wird der Apache gestartet und anschließend der Internet Explorer mit einer bestimmten Startseite geöffnet.

    Dann nimm doch eine Bachdatei. Der Parameter /wait beim Start von iexplore.exe innerhalb der Batchdatei veranlasst, die Stapelverarbeitung erst bei Beendigung des Programmes fortzusetzen. Vorher startet die Batchdatei den Apache, nach Beendigung des IE fährt sie ihn wieder herunter, dann ist sie abgearbeitet.
    MfG, at