|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<html xmlns="http://www.w3.org/1999/xhtml" lang="de" xml:lang="de"><head>
|
|
Packit |
90a5c9 |
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" />
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
Packit |
90a5c9 |
This file is generated from xml source: DO NOT EDIT
|
|
Packit |
90a5c9 |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
Packit |
90a5c9 |
-->
|
|
Packit |
90a5c9 |
<title>Beenden und Neustarten - Apache HTTP Server Version 2.4</title>
|
|
Packit |
90a5c9 |
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
|
|
Packit |
90a5c9 |
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
|
|
Packit |
90a5c9 |
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" />
|
|
Packit |
90a5c9 |
<script src="./style/scripts/prettify.min.js" type="text/javascript">
|
|
Packit |
90a5c9 |
</script>
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
|
|
Packit |
90a5c9 |
<body id="manual-page">
|
|
Packit |
90a5c9 |
Module | Direktiven | FAQ | Glossar | Seitenindex
|
|
Packit |
90a5c9 |
Apache HTTP Server Version 2.4
|
|
Packit |
90a5c9 |
![](./images/feather.png)
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Apache > HTTP-Server > Dokumentation > Version 2.4
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Verfügbare Sprachen: de |
|
|
Packit |
90a5c9 |
en |
|
|
Packit |
90a5c9 |
es |
|
|
Packit |
90a5c9 |
fr |
|
|
Packit |
90a5c9 |
ja |
|
|
Packit |
90a5c9 |
ko |
|
|
Packit |
90a5c9 |
tr
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Diese Übersetzung ist möglicherweise
|
|
Packit |
90a5c9 |
nicht mehr aktuell. Bitte prüfen Sie die englische Version auf
|
|
Packit |
90a5c9 |
die neuesten Änderungen.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Dieses Dokument umfasst das Beenden und Neustarten des
|
|
Packit |
90a5c9 |
Apache auf Unix-ähnlichen Systemen. Anwender von Windows NT, 2000
|
|
Packit |
90a5c9 |
und XP sollten Betreiben
|
|
Packit |
90a5c9 |
des Apache als Dienst lesen, während hingegen Anwender von
|
|
Packit |
90a5c9 |
Windows 9x sowie ME Betreiben
|
|
Packit |
90a5c9 |
des Apache als Konsolenanwendung lesen sollten, um mehr Informationen
|
|
Packit |
90a5c9 |
zur Handhabung des Apache auf diesen Systemen zu erhalten.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Beenden
|
|
Packit |
90a5c9 |
Unterbrechungsfreier Neustart
|
|
Packit |
90a5c9 |
Neustarten
|
|
Packit |
90a5c9 |
Anhang: Signale und Wettkampfsituationen
|
|
Packit |
90a5c9 |
Siehe auch
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Um den Apache zu stoppen oder neu zu starten, müssen Sie
|
|
Packit |
90a5c9 |
ein Signal an den laufenden httpd -Prozess senden. Es gibt
|
|
Packit |
90a5c9 |
zwei Möglichkeiten, diese Signale zu senden. Zum einen können
|
|
Packit |
90a5c9 |
Sie den Unix-Befehl kill verwenden, um den Prozessen
|
|
Packit |
90a5c9 |
direkt Signale zu senden. Sie werden feststellen, dass auf Ihrem
|
|
Packit |
90a5c9 |
System mehrere httpd -Programme laufen. Sie sollten
|
|
Packit |
90a5c9 |
jedoch nicht jedem dieser Prozesse ein Signal senden, sondern nur dem
|
|
Packit |
90a5c9 |
Elternprozess, dessen PID im PidFile steht. Das heißt, Sie
|
|
Packit |
90a5c9 |
sollten es niemals nötig haben, einem anderen Prozess, als dem
|
|
Packit |
90a5c9 |
Elternprozess, ein Signal zu senden. Es gibt drei Signale, die Sie an den
|
|
Packit |
90a5c9 |
Elternprozess senden können: TERM ,
|
|
Packit |
90a5c9 |
HUP und
|
|
Packit |
90a5c9 |
USR1 , die nachfolgend beschrieben
|
|
Packit |
90a5c9 |
werden.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Um dem Elternprozess ein Signal zu senden, verwenden Sie einen
|
|
Packit |
90a5c9 |
Befehl wie z.B.:
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
kill -TERM `cat /usr/local/apache2/logs/httpd.pid`
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Die zweite Methode, dem httpd -Prozess zu
|
|
Packit |
90a5c9 |
signalisieren, ist die Verwendung der -k -Befehlszeilenoptionen
|
|
Packit |
90a5c9 |
stop , restart und graceful , wie
|
|
Packit |
90a5c9 |
unten beschrieben. Dies sind Argumente des httpd -Programms, es wird jedoch
|
|
Packit |
90a5c9 |
empfohlen, sie unter Verwendung des Steuerskripts apachectl zu senden, welches diese
|
|
Packit |
90a5c9 |
an httpd durchreicht.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Nachdem Sie httpd signalisiert haben, können Sie
|
|
Packit |
90a5c9 |
dessen Fortschritt beobachten, indem Sie eingeben:
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
tail -f /usr/local/apache2/logs/error_log
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Passen Sie diese Beispiele entsprechend Ihren ServerRoot - und PidFile -Einstellungen an.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
- Signal: TERM
|
|
Packit |
90a5c9 |
apachectl -k stop
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Das Senden des TERM - oder stop -Signals an
|
|
Packit |
90a5c9 |
den Elternprozess veranlasst diesen, sofort zu versuchen, alle seine
|
|
Packit |
90a5c9 |
Kindprozesse zu beenden. Es kann einige Sekunden dauern, bis alle
|
|
Packit |
90a5c9 |
Kindprozesse komplett beendet sind. Danach beendet sich der Elternprozess
|
|
Packit |
90a5c9 |
selbst. Alle gerade bearbeiteten Anfragen werden abgebrochen.
|
|
Packit |
90a5c9 |
Es werden keine weiteren Anfragen mehr bedient.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
- Signal: USR1
|
|
Packit |
90a5c9 |
apachectl -k graceful
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Das USR1 - oder graceful -Signal
|
|
Packit |
90a5c9 |
veranlasst den Elternprozess, die Kinder anzuweisen, sich
|
|
Packit |
90a5c9 |
nach Abschluß ihrer momentanen bearbeiteten Anfrage zu beenden
|
|
Packit |
90a5c9 |
(oder sich sofort zu beenden, wenn sie gerade keine Anfrage bedienen).
|
|
Packit |
90a5c9 |
Der Elternprozess liest seine Konfigurationsdateien erneut ein und
|
|
Packit |
90a5c9 |
öffnet seine Logdateien neu. Wenn ein Kindprozess stirbt,
|
|
Packit |
90a5c9 |
ersetzt der Elternprozess ihn durch ein Kind der neuen
|
|
Packit |
90a5c9 |
Konfigurations-Generation. Dieses beginnt sofort damit,
|
|
Packit |
90a5c9 |
neue Anfragen zu bedienen.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Auf bestimmten Plattformen, welche kein USR1
|
|
Packit |
90a5c9 |
für einen unterbrechungsfreien Neustart erlauben, kann ein
|
|
Packit |
90a5c9 |
alternatives Signal verwendet werden (wie z.B.
|
|
Packit |
90a5c9 |
WINCH ). Der Befehl apachectl graceful
|
|
Packit |
90a5c9 |
sendet das jeweils richtige Signal für Ihre Platform.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Der Code ist dafür ausgelegt, stets die MPM-Direktiven
|
|
Packit |
90a5c9 |
zur Prozesssteuerung zu beachten, so dass die Anzahl der Prozesse
|
|
Packit |
90a5c9 |
und Threads, die zur Bedienung der Clients bereitstehen, während
|
|
Packit |
90a5c9 |
des Neustarts auf die entsprechenden Werte gesetzt werden.
|
|
Packit |
90a5c9 |
Weiterhin wird StartServers
|
|
Packit |
90a5c9 |
auf folgende Art und Weise interpretiert: Wenn nach einer Sekunde
|
|
Packit |
90a5c9 |
nicht mindestens StartServers
|
|
Packit |
90a5c9 |
neue Kindprozesse erstellt wurden, dann werden, um den Durchsatz zu
|
|
Packit |
90a5c9 |
beschleunigen, entsprechend weitere erstellt. Auf diese Weise versucht
|
|
Packit |
90a5c9 |
der Code sowohl die Anzahl der Kinder entsprechend der Serverlast
|
|
Packit |
90a5c9 |
anzupassen als auch Ihre Wünsche hinsichtlich des Parameters
|
|
Packit |
90a5c9 |
StartServers zu
|
|
Packit |
90a5c9 |
berücksichtigen.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Benutzer von mod_status werden feststellen,
|
|
Packit |
90a5c9 |
dass die Serverstatistiken nicht auf Null
|
|
Packit |
90a5c9 |
zurückgesetzt werden, wenn ein USR1 gesendet
|
|
Packit |
90a5c9 |
wurde. Der Code wurde so geschrieben, dass sowohl die Zeit minimiert
|
|
Packit |
90a5c9 |
wird, in der der Server nicht in der Lage ist, neue Anfragen zu
|
|
Packit |
90a5c9 |
bedienen (diese werden vom Betriebssystem in eine Warteschlange
|
|
Packit |
90a5c9 |
gestellt, so dass sie auf keinen Fall verloren gehen) als auch
|
|
Packit |
90a5c9 |
Ihre Parameter zur Feinabstimmung berücksichtigt werden.
|
|
Packit |
90a5c9 |
Um dies zu erreichen, muss die Statustabelle (Scoreboard),
|
|
Packit |
90a5c9 |
die dazu verwendet wird, alle Kinder über mehrere Generationen
|
|
Packit |
90a5c9 |
zu verfolgen, erhalten bleiben.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Das Statusmodul benutzt außerdem ein G , um
|
|
Packit |
90a5c9 |
diejenigen Kinder zu kennzeichen, die noch immer Anfragen bedienen,
|
|
Packit |
90a5c9 |
welche gestartet wurden, bevor ein unterbrechungsfreier Neustart
|
|
Packit |
90a5c9 |
veranlaßt wurde.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Derzeit gibt es keine Möglichkeit für ein
|
|
Packit |
90a5c9 |
Log-Rotationsskript, das USR1 verwendet, sicher
|
|
Packit |
90a5c9 |
festzustellen, dass alle Kinder, die in ein vor dem Neustart
|
|
Packit |
90a5c9 |
geöffnetes Log schreiben, beendet sind. Wir schlagen vor, dass
|
|
Packit |
90a5c9 |
Sie nach dem Senden des Signals USR1 eine angemessene
|
|
Packit |
90a5c9 |
Zeitspanne warten, bevor Sie das alte Log anfassen. Wenn beispielsweise
|
|
Packit |
90a5c9 |
die meisten Ihrer Zugriffe bei Benutzern mit niedriger Bandbreite
|
|
Packit |
90a5c9 |
weniger als 10 Minuten für eine vollständige Antwort
|
|
Packit |
90a5c9 |
benötigen, dann könnten Sie 15 Minuten warten, bevor Sie auf
|
|
Packit |
90a5c9 |
das alte Log zugreifen.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Wenn Ihre Konfigurationsdatei Fehler enthält, während
|
|
Packit |
90a5c9 |
Sie einen Neustart anweisen, dann wird Ihr Elternprozess nicht neu starten,
|
|
Packit |
90a5c9 |
sondern sich mit einem Fehler beenden. Im Falle eines unterbrechungsfreien
|
|
Packit |
90a5c9 |
Neustarts läßt er die Kinder weiterlaufen, wenn er sich beendet.
|
|
Packit |
90a5c9 |
(Dies sind die Kinder, die sich "sanft beenden", indem sie ihre letzte
|
|
Packit |
90a5c9 |
Anfrage erledigen.) Das verursacht Probleme, wenn Sie versuchen,
|
|
Packit |
90a5c9 |
den Server neu zu starten -- er ist nicht in der Lage, sich an die Ports zu
|
|
Packit |
90a5c9 |
binden, an denen er lauschen soll. Bevor Sie einen Neustart
|
|
Packit |
90a5c9 |
durchführen, können Sie die Syntax der Konfigurationsdateien
|
|
Packit |
90a5c9 |
mit dem Befehlszeilenargument -t überprüfen
|
|
Packit |
90a5c9 |
(siehe auch httpd ). Das garantiert
|
|
Packit |
90a5c9 |
allerdings nicht, dass der Server korrekt starten wird. Um sowohl die
|
|
Packit |
90a5c9 |
Syntax als auch die Semantik der Konfigurationsdateien zu prüfen,
|
|
Packit |
90a5c9 |
können Sie versuchen, httpd als nicht-root-Benutzer
|
|
Packit |
90a5c9 |
zu starten. Wenn dabei keine Fehler auftreten, wird er versuchen, seine
|
|
Packit |
90a5c9 |
Sockets und Logdateien zu öffnen und fehlschlagen, da er nicht root
|
|
Packit |
90a5c9 |
ist (oder weil sich der gegenwärtig laufende httpd
|
|
Packit |
90a5c9 |
bereits diese Ports gebunden hat). Wenn er aus einem anderen Grund
|
|
Packit |
90a5c9 |
fehlschlägt, dann liegt wahrscheinlich ein Konfigurationsfehler vor.
|
|
Packit |
90a5c9 |
Der Fehler sollte behoben werden, bevor der unterbrechungsfreie Neustart
|
|
Packit |
90a5c9 |
angewiesen wird.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
- Signal: HUP
|
|
Packit |
90a5c9 |
apachectl -k restart
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Das Senden des Signals HUP oder restart
|
|
Packit |
90a5c9 |
veranlaßt den Elternprozess, wie bei TERM alle seine
|
|
Packit |
90a5c9 |
Kinder zu beenden. Der Elternprozess beendet sich jedoch nicht. Er liest
|
|
Packit |
90a5c9 |
seine Konfigurationsdateien neu ein und öffnet alle Logdateien
|
|
Packit |
90a5c9 |
erneut. Dann erzeugt er einen neuen Satz Kindprozesse und setzt die
|
|
Packit |
90a5c9 |
Bedienung von Zugriffen fort.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Benutzer von mod_status werden feststellen, dass
|
|
Packit |
90a5c9 |
die Serverstatistiken auf Null gesetzt werden, wenn ein HUP
|
|
Packit |
90a5c9 |
gesendet wurde.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Wenn Ihre Konfigurationsdatei einen Fehler enthält,
|
|
Packit |
90a5c9 |
während Sie einen Neustart anweisen, dann wird Ihr Elternprozess
|
|
Packit |
90a5c9 |
nicht neu starten, sondern sich mit einem Fehler beenden. Lesen Sie oben,
|
|
Packit |
90a5c9 |
wie Sie das vermeiden können.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Vor der Version 1.2b9 des Apache existierten verschiedene
|
|
Packit |
90a5c9 |
Wettkampfsituationen (race conditions), die den Neustart und
|
|
Packit |
90a5c9 |
die Signale beeinflußt haben. (Einfach erklärt ist eine
|
|
Packit |
90a5c9 |
Wettkampfsituation ein zeitabhängiges Problem - wenn
|
|
Packit |
90a5c9 |
etwas zum falschen Zeitpunkt erfolgt oder Dinge in der falschen
|
|
Packit |
90a5c9 |
Reihenfolge passieren, ist unerwartetes Verhalten die Folge. Wenn die
|
|
Packit |
90a5c9 |
gleichen Dinge zur richtigen Zeit geschehen, funktioniert alles korrekt.)
|
|
Packit |
90a5c9 |
Bei Architekturen mit dem "richtigen" Funktionsumfang
|
|
Packit |
90a5c9 |
haben wir so viele eliminiert wie wir nur konnten. Dennoch
|
|
Packit |
90a5c9 |
sollte beachtet werden, dass noch immer Wettkampfsituationen auf
|
|
Packit |
90a5c9 |
bestimmten Architekturen existieren.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Bei Architekturen, die ein ScoreBoardFile auf Platte verwenden,
|
|
Packit |
90a5c9 |
besteht die Gefahr, dass die Statustabelle beschädigt wird.
|
|
Packit |
90a5c9 |
Das kann zu "bind: Address already in use" ("bind: Adresse wird
|
|
Packit |
90a5c9 |
bereits verwendet", nach einem HUP ) oder "long lost
|
|
Packit |
90a5c9 |
child came home!" ("Der verlorene Sohn ist heimgekehrt", nach einem
|
|
Packit |
90a5c9 |
USR1 ) führen. Ersteres ist ein schwerer Fehler,
|
|
Packit |
90a5c9 |
wärend letzteres lediglich bewirkt, dass der Server einen Eintrag
|
|
Packit |
90a5c9 |
in der Statustabelle verliert. So kann es ratsam sein, unterbrechungsfreie
|
|
Packit |
90a5c9 |
Neustarts zusammen mit einem gelegentlichen harten Neustart zu verwenden.
|
|
Packit |
90a5c9 |
Diese Probleme lassen sich nur sehr schwer umgehen, aber
|
|
Packit |
90a5c9 |
glücklicherweise benötigen die meisten Architekturen keine
|
|
Packit |
90a5c9 |
Statustabelle in Form einer Datei. Bitte lesen Sie für Architekturen,
|
|
Packit |
90a5c9 |
die sie benötigen, die Dokumentation zu ScoreBoardFile .
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Alle Architekturen haben in jedem Kindprozess eine kleine
|
|
Packit |
90a5c9 |
Wettkampfsituation, welche die zweite und nachfolgende Anfragen
|
|
Packit |
90a5c9 |
einer persistenten HTTP-Verbindung (KeepAlive) umfaßt. Der Prozess
|
|
Packit |
90a5c9 |
kann nach dem Lesen der Anfragezeile aber vor dem Lesen der Anfrage-Header
|
|
Packit |
90a5c9 |
enden. Es existiert eine Korrektur, die für 1.2 zu spät kam.
|
|
Packit |
90a5c9 |
Theoretisch sollte das kein Problem darstellen, da
|
|
Packit |
90a5c9 |
der KeepAlive-Client derartige Ereignisse aufgrund von
|
|
Packit |
90a5c9 |
Netzwerk-Latenzzeiten und Auszeiten des Servers erwarten sollte.
|
|
Packit |
90a5c9 |
In der Praxis scheint keiner von beiden beeinflußt zu werden
|
|
Packit |
90a5c9 |
-- in einem Testfall wurde der Server zwanzig mal
|
|
Packit |
90a5c9 |
pro Sekunde neu gestartet, während Clients das Angebot abgegrast
|
|
Packit |
90a5c9 |
haben, ohne kaputte Bilder oder leere Dokumente zu erhalten.
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
|
|
Packit |
90a5c9 |
Verfügbare Sprachen: de |
|
|
Packit |
90a5c9 |
en |
|
|
Packit |
90a5c9 |
es |
|
|
Packit |
90a5c9 |
fr |
|
|
Packit |
90a5c9 |
ja |
|
|
Packit |
90a5c9 |
ko |
|
|
Packit |
90a5c9 |
tr
|
|
Packit |
90a5c9 |
Notice:This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.
|
|
Packit |
90a5c9 |
<script type="text/javascript">
|
|
Packit |
90a5c9 |
var comments_shortname = 'httpd';
|
|
Packit |
90a5c9 |
var comments_identifier = 'http://httpd.apache.org/docs/2.4/stopping.html';
|
|
Packit |
90a5c9 |
(function(w, d) {
|
|
Packit |
90a5c9 |
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
|
|
Packit |
90a5c9 |
d.write('
|
|
Packit |
90a5c9 |
var s = d.createElement('script');
|
|
Packit |
90a5c9 |
s.type = 'text/javascript';
|
|
Packit |
90a5c9 |
s.async = true;
|
|
Packit |
90a5c9 |
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
|
|
Packit |
90a5c9 |
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
else {
|
|
Packit |
90a5c9 |
d.write('
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
})(window, document);
|
|
Packit |
90a5c9 |
//--></script>
|
|
Packit |
90a5c9 |
Copyright 2018 The Apache Software Foundation. Lizenziert unter der Apache License, Version 2.0.
|
|
Packit |
90a5c9 |
Module | Direktiven | FAQ | Glossar | Seitenindex <script type="text/javascript">
|
|
Packit |
90a5c9 |
if (typeof(prettyPrint) !== 'undefined') {
|
|
Packit |
90a5c9 |
prettyPrint();
|
|
Packit |
90a5c9 |
}
|
|
Packit |
90a5c9 |
//--></script>
|
|
Packit |
90a5c9 |
</body></html>
|