Wie finde ich den Apache Parent Process?

Apache, Lighttpd, nginx, Cherokee
croni
Posts: 14
Joined: 2006-10-17 21:00

Wie finde ich den Apache Parent Process?

Post by croni » 2006-12-17 10:32

Hi,

ich habe etwas zerschlissen mit meinem Apache2. Es scheint als ob im pid File eine Prozessnummer steht, die nicht mehr läuft (ein Apache2 läuft aber!).

- Wie finde ich nun die Prozessnummer des laufenden Parent Apache Prozesses, um das pid File zu korrigieren?

Vielen Dank!

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: Wie finde ich den Apache Parent Process?

Post by Roger Wilco » 2006-12-17 10:48

Code: Select all

ps faux
pstree
Und da nimmst du dann die PID des obersten Apache Prozesses.

Du könntest aber auch einfach das PID File löschen, den Apache beenden und nochmal sauber über das Initskript starten.

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Wie finde ich den Apache Parent Process?

Post by flo » 2006-12-17 11:17

Wenn sich der Apache nicht beenden lässt, hilft auch mal ein beherztes

Code: Select all

killall httpd
Das kann man mit den üblichen Kill-Signalen noch steigern, so daß Du den Prozeß eigentlich immer aus dem System bringst.

flo.

croni
Posts: 14
Joined: 2006-10-17 21:00

Re: Wie finde ich den Apache Parent Process?

Post by croni » 2006-12-17 11:42

Wenn ich 'ps -o ppid | grep apache2' eingebe, erscheint von 170 (!) apache2 Prozessen immer die Parent ID '1', was aber der 'init' Prozess ist! fehlt da der Parent Prozess der Apache Child-Prozesse?

Und muss ich dann mit killall wirklich erst alle Child-Processes beenden, und dann mit /etc/init.d/apache2 start den Webserver wieder sauber hochfahren?

Thx, Leute!

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Wie finde ich den Apache Parent Process?

Post by flo » 2006-12-17 14:41

croni wrote:Und muss ich dann mit killall wirklich erst alle Child-Processes beenden, und dann mit /etc/init.d/apache2 start den Webserver wieder sauber hochfahren?
jep - ansonsten läuft schon ein Dienst auf dem Port und der Apache kann sich nicht an diesen binden :-)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Wie finde ich den Apache Parent Process?

Post by Joe User » 2006-12-17 15:25

restart wäre allerdings sinnvoller, da das Pidfile durch kill[all] nicht entsorgt wird ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

flo
Posts: 2223
Joined: 2002-07-28 13:02
Location: Berlin

Re: Wie finde ich den Apache Parent Process?

Post by flo » 2006-12-17 16:25

Ich denke, daß er momentan schon soweit ist, daß der Parent weg ist aber eins der Childs noch aktiv ist - das passiert mir auch öfter nach Änderungen bezgl. Modulen und Ähnlichem in der httpd.conf - da kannste dann wirklich nur noch per Hand killen.

Außerdem - der Restart in machen Scripten macht den "start" und "stop" direkt hintereinander - das kann den gleichen Effekt haben.

flo.

lucki2
Posts: 427
Joined: 2006-10-03 01:31

Re: Wie finde ich den Apache Parent Process?

Post by lucki2 » 2006-12-17 23:59

Wenn der apache nicht läuft dessen pidfile noch existiert: apache stoppen, pidfile einfach löschen. Apache restarten. Bitte nicht ausbessen!

croni
Posts: 14
Joined: 2006-10-17 21:00

Re: Wie finde ich den Apache Parent Process?

Post by croni » 2006-12-18 07:56

Es hat sich geregelt:

- killall apache2
- apache2.pid löschen
- /etc/init.d/apache2 start

Ich A***** hatte den Parent-Prozess gekillt... vielen Dank für Eure Hilfe! Ich bin nun wieder ein Stück schlauer :-)