TL; версия DR : когда я прошу Paster остановить демон, он не может прочитать собственный файл, который он использует для отслеживания своего идентификатора процесса.
более длинная версия:
Я использую Paster (pastescript 1.7.3) на Python 2.7.1 в Windows Vista.
Мой первый сюрприз - простой веб-сайт:
>paster serve development.ini
Starting server in PID 15184.
serving on http://127.0.0.1:5000
Я ожидал найти файл paster.pid в том же каталоге, но я не могу.Странный.Не берите в голову, давайте сделаем это явно, убив этот процесс и начав заново.
>paster serve development.ini --pid-file=my.pid
Starting server in PID 20884.
serving on http://127.0.0.1:5000
На этот раз он создает файл с именем my.pid.В другом командном окне я могу набрать:
>type my.pid
20884
Сайт успешно обслуживается, и диспетчер задач подтверждает, что запущен процесс python с PID 20884.
Теперь давайте спросимpaster для сообщения о состоянии демона:
>paster serve development.ini --status --pid-file=my.pid
PID None in my.pid is not running
>type my.pid
20884
Странно.Он утверждает, что PID внутри my.pid равен None
, тогда как это не так.
Давайте выключим его.
>paster serve --stop-daemon --pid-file=my.pid
PID in my.pid is not valid (deleting)
>type my.pid
The system cannot find the file specified.
Итак, он попытался прочитать my.pid,не смог прочитать и удалил его в отчаянии.
Пока демон продолжает работать.
Мне нужно вручную убить демона-пастера, что и рекомендует @Lennart Regebro в аналогичный, менее подробный вопрос .Я хочу автоматизировать это как часть моего тестирования, поэтому я надеюсь найти более чистое решение.
Есть предложения?