Определение PID сценария CGI в Windows

Я получаю PID, используя python, сценария CGI, однако PID недействителен, т. Е. Не могу убить его из CL. Я получаю: «Процесс: не найден процесс с pid xxxx», где xxxx — это pid

Я подумал, что, возможно, мне придется убить экземпляр родительской оболочки Python, но os.ppid не работает в Windows.

Затем я установил модуль psutil python и теперь могу получить родительский PID, но он просто показывает родителя как фактический веб-сервер (Abyss), который я не думаю, что хочу убить, так как это процесс http, который, как я заметил, работает постоянно а не только экземпляр интерпретатора CGI.

Используя psutil, я МОГУ получить статус процесса фактического скрипта, используя pid, возвращаемый os.getpid(), и увидеть, что он работает. Таким образом, pid работает для извлечения информации о процессах с помощью psutil. Но это не приводит меня к получению фактического PID, который мне нужен, чтобы убить скрипт, используя ЛИБО Taskkill на CL или через kill() из psutil!

Что такое сценарий оболочки cgi с точки зрения процесса, и если это не процесс, почему os.getpid() возвращает pid?


person Stephen    schedule 28.03.2012    source источник


Ответы (1)


Почему вы уверены, что ваш CGI-скрипт все еще работает, когда вы пытаетесь его убить? Веб-сервер запускает один экземпляр CGI-скрипта для одного запроса, и когда скрипт завершает его... просто завершает.

person Kirill    schedule 28.03.2012