Beenden Sie Pythons Simple HTTP Server, der durch ein Zugriffsprotokoll ausgelöst wird

Das erste, worauf ich gestoßen bin, war das Abrufen des Python-Zugriffsprotokolls.

python -m SimpleHTTPServer > httpd.log

Oder

python -m SimpleHTTPServer 2>&1 > httpd.log

Das funktioniert nicht,

python -m SimpleHTTPServer 2>&1 |tee httpd.log

Es scheint, dass es genommen werden kann.

Da ich eine Pipe verwendet habe, konnte ich die PID von Python mit $! Nicht ermitteln. Deshalb http://qiita.com/mattintosh4/items/35e184d890c4453a8da7 Ich habe die PID von Jobs erhalten, während ich mich auf bezog.

PYTHON_PID=`jobs -l|grep +|awk '{print $2}'`

Schließlich möchte ich das Ende anhand der im Protokoll enthaltenen Zeichenfolge beurteilen Ich habe mich entschlossen sicherzustellen, dass das Protokoll keine bestimmte Zeichenfolge enthält.

while [ "`cat httpd.log|grep filename.html`" = ""]; do
sleep 1
done

Alle Quellen

python -m SimpleHTTPServer 2>&1 |tee httpd.log
PYTHON_PID=`jobs -l|grep +|awk '{print $2}'`

while [ "`cat httpd.log|grep filename.html`" = ""]; do
sleep 1
done

kill $PYTHON_PID

Recommended Posts

Beenden Sie Pythons Simple HTTP Server, der durch ein Zugriffsprotokoll ausgelöst wird
Einfacher HTTP-Server für Python
So deaktivieren Sie den Browser-Cache auf dem einfachen HTTP-Server von Python
Schreiben Sie einen HTTP / 2-Server in Python