• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Liste laufender Scripte auf dem Server

freebe

Newbie
Hallo,

soeben habe ich bemerkt, dass sich ein PHP-Script auf meinem Server, obwohl ich den meisten Scripten die Funktion "set_time_limit(x)" eingefügt habe, in der Nacht aufhängt und bis zu Vormittags-Stunden CPU sehr stark belastet.

Hoffentlich kann mir jemand sagen wie kann ich das betreffende Script ausfindig machen. Sowohl "ps aux" als auch "top" zeigen leider für jede PHP-Script-Ausführung nur "httpd2-prefork".

Wie lauteet das Befehl um alle laufende Scripte aufgelistet zu bekommen?

Bin dankbar für jede Hilfe...

freebe
 

gaw

Hacker
Ein Perl oder PHP2 Skript erscheint nur dann mit Befehlsnamen wenn du es außerhalb eines Webservers startest.
Aus Sicht des Betriebssystem ist ein CGI-Programm das über ein Apache-Modul läuft also kein isolierter Prozess, der sich mit ps und den Optionen anzeigen lassen könnte. Der Apache verarbeitet über sein php-Modul das Programm und ist damit der Prozess. Woher sich dieser Prozess seine Anweisungen holt und was er damit macht, kann das Betriebssystem nicht wissen. Du kannst aber jeder Zeit in deinen PHP-Programmen entsprechende Kontrollen einbauen. Setze einen Timer der in deinen Event-Schleifen immer wieder abgefragt wird oder setze ein semaphore oder eine 0-Byte Lockdatei zur Kennzeichnung laufender Skripte ein. Dann kannst du mit einem anderem Skript immer fragen ob und welches Skript auf deinem Server "gerade läuft".
Über das Betriebssystem lässt sich nur der httpd -Prozess beeinflussen.



mfG
gaw
 

PC-Ulf

Member
Ich würde apache einfach stoppen und neu starten. Mit einem
Code:
httpd -t
würde ich vorher die Konfigurationsdateien auf Fehler kontrollieren, um böse Überraschnungen beim starten zu vermeiden. Dieser Vorgang dauert keine drei Minuten.

edit/
vielleicht reicht auch ein
Code:
apache2 reload
aus. :wink:
 
Oben