Prozesse mit Endlosschleifen lassen sich nicht schließen!
Valentin Wirth
- programmiertechnik
Hallo Leute,
Ich probiere mich bei mir immer mal mit Perlprogrammierung rum. Das klappt auch alles ganz super. Wenn ich was gebastelt habe probiere ich das nätürlich ständig auf meinem lokalem Server (Apache auf Win2000) aus. Wie es das so beim testen gibt gibt es auch immer wieder Fehler. Machmal dummer weise zum Beispiel Schleifen, bei denen die Endbedingung nicht funktioniert. Ja dann arbeitet er, mein Rechner und schreibt fleißig Zeile für Zeile in mein Browser Fenster. Da ich keine andere Möglichkeit sehe ihn zu stopen hab ich das immer mit den Taskmanager abgebrochen.
Jetzt das problem: Bei jedem Abbruch bleibt einmal perl.exe laufen (kann man nicht schließen) und wenn das öffter passiert werden es immer mehr. Und jeder der Prozesse verbraucht Resourcen (Perl rechnet wahrscheinlich noch weiter). Nach 5-10 solchen Prozessen wird es dann immer langsamer. Dann hilft nur noch ein Neustart.
Gibt es eine bessere Methode um Prozesse mit endlosen Schleifen zu beenden (Natürlich nicht erst entstehen lassen ... aber das passiert halt manchmal)? Oder wie kriege ich solche widerspenstigen Prozesse tot?
Danke euch
machts besser, Valentin
Hallo Valentin,
ich kenn das Problem, aber eigentlich müsstest Du perl.exe per Taskmanager beenden können.Nur wenn es als Service läuft geht es nicht. Vielleicht ein NT-Rechteproblem, bist Du lokaler Admin ? Ansonsten schon mal probiert den Apache selbst abzuschießen (darf dann halt auch kein Service sein.
Gruss
Marko
ich kenn das Problem, aber eigentlich müsstest Du perl.exe per Taskmanager beenden können.Nur wenn es als Service läuft geht es nicht. Vielleicht ein NT-Rechteproblem, bist Du lokaler Admin ? Ansonsten schon mal probiert den Apache selbst abzuschießen (darf dann halt auch kein Service sein.
Hi,
Ja ich bin der "Admin". Ist sozusagen mein persönlicher Rechner an dem ich rumschrauben wie ich will. Ich habe auch probiert Apache runterzufahren der blieb dann aber auf halber Strecke stecken. Gerade habe ich noch bemerkt das nach solchen Aktionen immer mehr Apache Prezess laufen. Perl.exe lässt sich troztdem nicht beenden. Was bedeutet denn das mit dem Service? Eigendlich funktioniert Win2000 bei mir ziemlich gut (abgesehen von der Geschwindigkeit). Also vielleicht gibt es ja noch eine andere Variante als auf Linux unzusteigen.
mfg Valentin
PS: Gibt es eingendlich auch Photoshop für Linux?
Hi Valentin
Ja ich bin der "Admin". Ist sozusagen mein persönlicher Rechner an dem ich rumschrauben wie ich will.
Äh, Admin im Sinn Administratorrechte für den Benutzer mit dem Du Dich auf Deinem Rechner einloggst, ist es nämlich ein normaler Benutzer darfst Du nicht jeden Prozess abschiessen.
Was bedeutet denn das mit dem Service?
Unter WIN2K und WIn NT kann Apache als Service und als normale EXE gestartet werden, Services können nicht direkt abgeschossen werden, sondern nur über Systemsteureung "Dienste" beendet und gestartet werden, oder über Kommandozeilen befehle: NET START APACHE oder NET STOP APACHE.
Wenn er als PRogramm gestartet wird macht er so ein Fenster auf, als Service nicht dann geht es in den Hintergrund.
Also vielleicht gibt es ja noch eine andere Variante als auf Linux unzusteigen.
Also da bekommst Du wenigstens jeden PRozess irgendwie tot :-)
PS: Gibt es eingendlich auch Photoshop für Linux?
Nö, aber the GIMP, ne Menge Leute behaupten der sei Photoshop ebenbürtig, ich kanns nicht beurteilen, bin kein Grafiker. Aber schlecht is er sicher net, und kostet keine Kohle was man vom Photoshop ja nicht behaupten kann.
Gruss
Marko
Äh, Admin im Sinn Administratorrechte für den Benutzer mit dem Du Dich auf Deinem Rechner einloggst, ist es nämlich ein normaler Benutzer darfst Du nicht jeden Prozess abschiessen.
Ja ich habe volle Administratorrechte. Zu dem Service: Apache startet sich zwar automatisch, dass aber weil er beim Start über Autostart aufgerufen wird. Ich habe mal gekuckt was das gestartet wird: Apache.exe" -w -n "Apache" -k start
Also warscheinliche eine normale .exe Datei. Naja, ich habe bis jetzt zwar noch nicht rausgefunden wie mal den Prozess geschlossen bekommt aber ich habe einfach einen Zähler für Testzwecke mit eingebaut, so dass die Schleife immer nach einer bestimmten maximalen Anzahl Durchgängen geschlossen wird.
Danke für die Infos
mfg Valentin
Ich probiere mich bei mir immer mal mit Perlprogrammierung rum. Das klappt auch alles ganz super. Wenn ich was gebastelt habe probiere ich das nätürlich ständig auf meinem lokalem Server (Apache auf Win2000) aus. Wie es das so beim testen gibt gibt es auch immer wieder Fehler. Machmal dummer weise zum Beispiel Schleifen, bei denen die Endbedingung nicht funktioniert. Ja dann arbeitet er, mein Rechner und schreibt fleißig Zeile für Zeile in mein Browser Fenster. Da ich keine andere Möglichkeit sehe ihn zu stopen hab ich das immer mit den Taskmanager abgebrochen.
Jetzt das problem: Bei jedem Abbruch bleibt einmal perl.exe laufen (kann man nicht schließen) und wenn das öffter passiert werden es immer mehr. Und jeder der Prozesse verbraucht Resourcen (Perl rechnet wahrscheinlich noch weiter). Nach 5-10 solchen Prozessen wird es dann immer langsamer. Dann hilft nur noch ein Neustart.
Gibt es eine bessere Methode um Prozesse mit endlosen Schleifen zu beenden (Natürlich nicht erst entstehen lassen ... aber das passiert halt manchmal)? Oder wie kriege ich solche widerspenstigen Prozesse tot?
Linux ;-)
Ernsthaft, unter Windows hatten wir das Problem auch immer mit Prozessen, die sich nicht abschießen ließen. Ging erst mit Migration zu Linux weg.