DOS Prozess in den hintergrund legen
kai
- sonstiges
hallo zusammen,
ich hab mir ein tool runtergeladen das eine Apache/php anwendung
von cd startet. klappt auch soweit wunderbar, aber es wird
natürlich der apache prozess in einem dos fenster angezeigt,
was nicht so schön ist...
die *.bat datei sieht so aus:
[CODE]
start \servcd\mysql\bin\mysqld-nt.exe --standalone
cd \servcd\apache
apache.exe -k start
[/CODE]
kann ich den prozess iregendwie im hintergrund starten ODER einfach
das dos-fenster ausblenden ohne den prozess zu killn ??
vielen dank schonmal
kai
Hi there,
kann ich den prozess iregendwie im hintergrund starten ODER einfach
das dos-fenster ausblenden ohne den prozess zu killn ??
Du kannst an der Stelle ein Stück undurchsichtiges Tesaband auf den Monitor kleben...
scnr
gudn tach!
kann ich den prozess iregendwie im hintergrund starten
running apache for windows as a service
prost
seth
Hallo Kai,
die *.bat datei sieht so aus:
start \servcd\mysql\bin\mysqld-nt.exe --standalone
cd \servcd\apache
apache.exe -k start
wenn da nicht noch andere Anweisungen folgen, dann verstehe ich nicht, warum das Konsolenfenster (das übrigens KEIN DOS-Fenster ist) bei dir geöffnet bleibt. Ich hab's gerade mal versucht, bei mir nachzuvollziehen - ich habe nur in Ermangelung eines SQL-Servers stattdessen den notepad als Dummy-Prozess gestartet. Bei mir rauschen die Anweisungen einfach durch, die entsprechenden Prozesse werden gestartet, und das Konsolenfenster dann automatisch sofort geschlossen (das alles unter Win2k). Worauf sollte der Kommandozeileninterpreter auch noch warten?
Eventuell kannst du ihm noch einen Wink mit dem Zaunpfahl verpassen, indem du die Anweisung exit ans Ende der Batchdatei schreibst.
kann ich den prozess iregendwie im hintergrund starten
Die neuen Prozesse, die du da aufrufst (mysqld-nt.exe und apache.exe), WERDEN schon im Hintergrund gestartet.
ODER einfach das dos-fenster ausblenden ohne den prozess zu killn ??
Welchen Prozess? Da bleibt nur noch cmd.exe, und der müsste sich automatisch beenden, wenn er das Ende der Batchdatei erreicht.
So long,
Martin
gudn tach!
wenn da nicht noch andere Anweisungen folgen, dann verstehe ich nicht, warum das Konsolenfenster (das übrigens KEIN DOS-Fenster ist) bei dir geöffnet bleibt.
ist bei mir (w2k) auch so. (allerdings wollte ich das auch so.)
hast du apache bei dir evtl. als service installiert?
Bei mir rauschen die Anweisungen einfach durch, die entsprechenden Prozesse werden gestartet, und das Konsolenfenster dann automatisch sofort geschlossen (das alles unter Win2k).
da "rauschen" anweisungen durch?
bei mir steht da genau eine zeile
Apache/1.3.31 (Win32) PHP/4.4.2 running...
ist das vielleicht bei apache 2 anders?
Worauf sollte der Kommandozeileninterpreter auch noch warten?
dass man apache mit ctrl+c kickt.
Eventuell kannst du ihm noch einen Wink mit dem Zaunpfahl verpassen, indem du die Anweisung exit ans Ende der Batchdatei schreibst.
nein.
ODER einfach das dos-fenster ausblenden ohne den prozess zu killn ??
Welchen Prozess?
"apache" heisst der. ;-)
prost
seth
n'Abend!
hast du apache bei dir evtl. als service installiert?
logisch, wie sonst?
da "rauschen" anweisungen durch?
Ja klar, die Anweisungen, die in der Batchdatei stehen, werden ja bei der Abarbeitung nochmal ausgegeben (ich habe ja nirgends gesagt "echo off").
bei mir steht da genau eine zeile
Apache/1.3.31 (Win32) PHP/4.4.2 running...
ist das vielleicht bei apache 2 anders?
Die Zeile kommt dazwischen natürlich auch. Aber da das alles relativ schnell durchläuft, hab ich nicht so sehr auf die Einzelheiten geachtet.
Worauf sollte der Kommandozeileninterpreter auch noch warten?
dass man apache mit ctrl+c kickt.
Wieso das? Der startet seinen Service und meldet sich dann bei cmd.exe als fertig. Ich hab da nix mit Ctrl-C oder so.
Eventuell kannst du ihm noch einen Wink mit dem Zaunpfahl verpassen, indem du die Anweisung exit ans Ende der Batchdatei schreibst.
nein.
Nein?
Ich dachte da an die blöde Angewohnheit von Win9x, ein Konsolenfenster geöffnet zu lassen, obwohl eigentlich alle Anweisungen ausgeführt und beendet sind.
ODER einfach das dos-fenster ausblenden ohne den prozess zu killn ??
Welchen Prozess?
"apache" heisst der. ;-)
Der ist ja, wie schon erwähnt, gar nicht mehr direkt von cmd.exe abhängig und spielt daher bei dieser Betrachtung gar nicht mit.
Ciao,
Martin
gudn tach!
hast du apache bei dir evtl. als service installiert?
logisch, wie sonst?
zitat aus dem apache-manual:
There are two ways you can run Apache:
* As a "service". This is the best option if you want Apache to automatically start when your machine boots, and to keep Apache running when you log-off.
* From a console window. Closing this console window will terminate the Apache server.
man kann zwar auch von konsole aus eine service starten, aber das ist hier nicht gemeint.
da "rauschen" anweisungen durch?
Ja klar, die Anweisungen, die in der Batchdatei stehen
batchdatei?
beim aufruf
apache.exe -k start
wird doch keine batch-datei gestartet (es sei denn, du hast apache.exe.bat angelegt)
Worauf sollte der Kommandozeileninterpreter auch noch warten?
dass man apache mit ctrl+c kickt.Wieso das? Der startet seinen Service
...falls man ihn als service laufen laesst.
und meldet sich dann bei cmd.exe als fertig. Ich hab da nix mit Ctrl-C oder so.
...weil du apache als service laufen laesst.
Eventuell kannst du ihm noch einen Wink mit dem Zaunpfahl verpassen, indem du die Anweisung exit ans Ende der Batchdatei schreibst.
nein.Nein?
ja.
Ich dachte da an die blöde Angewohnheit von Win9x, ein Konsolenfenster geöffnet zu lassen, obwohl eigentlich alle Anweisungen ausgeführt und beendet sind.
das ist etwas anderes. hier ist es tatsaechlich der webserver, welcher das fenster geoeffnet laesst.
Welchen Prozess?
"apache" heisst der. ;-)Der ist ja, wie schon erwähnt, gar nicht mehr direkt von cmd.exe abhängig und spielt daher bei dieser Betrachtung gar nicht mit.
...wenn man apache als service laufen laesst ;-p
oder falls man apache als nicht-service aber via "start" startet, z.b.
start "apache server" "C:\Programme\Apache Group\Apache13\Apache.exe"
prost
seth
Moin,
hast du apache bei dir evtl. als service installiert?
logisch, wie sonst?
zitat aus dem apache-manual:
There are two ways you can run Apache:
[...]
ach sooo ...
Dass man den Apachen auch als gewöhnliche Applikation starten kann, habe ich zwar auch mal gelesen, aber das erscheint mir so abwegig, dass ich jetzt nicht einmal dran gedacht habe.
batchdatei?
beim aufruf
apache.exe -k start
wird doch keine batch-datei gestartet (es sei denn, du hast apache.exe.bat angelegt)
Lies nochmal nach: Der OP hat eine dreizeilige Batchdatei vorgestellt. Nach seiner Beschreibung bin ich davon ausgegangen, dass er das Konsolenfenster meint, in dem diese Batchdatei abgespult wird.
Ich dachte da an die blöde Angewohnheit von Win9x, ein Konsolenfenster geöffnet zu lassen, obwohl eigentlich alle Anweisungen ausgeführt und beendet sind.
das ist etwas anderes. hier ist es tatsaechlich der webserver, welcher das fenster geoeffnet laesst.
Wenn er nicht als Service läuft? ;-)
Schönen Tag noch,
Martin
gudn tach!
batchdatei?
beim aufruf
apache.exe -k start
wird doch keine batch-datei gestartet (es sei denn, du hast apache.exe.bat angelegt)Lies nochmal nach: Der OP hat eine dreizeilige Batchdatei vorgestellt. Nach seiner Beschreibung bin ich davon ausgegangen, dass er das Konsolenfenster meint, in dem diese Batchdatei abgespult wird.
ja, schon. aber in seiner batchdatei wir nicht viel "abgespult" vor allem nicht nach dem apache-aufruf...
Ich dachte da an die blöde Angewohnheit von Win9x, ein Konsolenfenster geöffnet zu lassen, obwohl eigentlich alle Anweisungen ausgeführt und beendet sind.
das ist etwas anderes. hier ist es tatsaechlich der webserver, welcher das fenster geoeffnet laesst.Wenn er nicht als Service läuft? ;-)
;-)
mit apache2 geht das uebrigens immer noch (also wahlweise als service oder als nicht-service), allerdings habe ich jenen noch nicht dazu bringen koennen, mir so eine schoene, aussagekraeftige zeile wie apache 1.3 (a la "hallo, da bin ich, und php ist auch dabei!") auf stdout zu schicken. apache2 schreibt das bloss ins error-logfile und tut auch das erst, wenn er wieder geschlossen wird, obgleich rueckdatierend. seltsam.
prost
seth
Moin.
start \servcd\mysql\bin\mysqld-nt.exe --standalone
cd \servcd\apache
apache.exe -k start
Hab gerade kein M$-OS da zum probieren... Du startest SQL mit "start", warum tust Du das nicht auch mit dem Indianer?
start apache.exe -k start
Wenn mich nicht alles täuscht, wird der Kommandointerpreter damit aufgefordert, nicht auf des Ende des aufgerufenen Programms zu warten.
Gruß Frank
gudn tach!
start apache.exe -k start
Wenn mich nicht alles täuscht, wird der Kommandointerpreter damit aufgefordert, nicht auf des Ende des aufgerufenen Programms zu warten.
das stimmt zwar, allerdings wird dadurch ein neues fenster (mit apache als inhalt) geoeffnet und das genannte problem besteht weiterhin.
prost
seth
Hallo,
Wenn mich nicht alles täuscht, wird der Kommandointerpreter damit aufgefordert, nicht auf des Ende des aufgerufenen Programms zu warten.
das stimmt zwar, allerdings wird dadurch ein neues fenster (mit apache als inhalt) geoeffnet und das genannte problem besteht weiterhin.
Das ist zwar korrekt - aber man kann ja mit start /min das neue Fenster minimiert starten. Dann fällt es wenigstens nicht so ins Auge.
Ciao,
Martin