Подпроцесс Python вернул ненулевое состояние выхода -6 - PullRequest
3 голосов
/ 11 декабря 2011

это мой первый пост на stackoverflow. Надеюсь мой вопрос не глупый:)

Я использую django для разработки веб-сайта, внутри django мне нужно захватить эскиз веб-сайта, поэтому я использую https://github.com/coderholic/PyWebShot для его достижения.

Я запускаю PyWebShot в оболочке django с подпроцессом, он работает хорошо, но когда я помещаю django в apache2 и обращаюсь к нему с помощью URL-адреса, происходит сбой.

Вот сообщение об ошибке:

CalledProcessError at GIVEN_URL

Команда '[' echo ',' $ HOME ']' вернула ненулевой статус выхода -6

Сбой этой команды на самом деле:

subprocess.check_output(['echo', '$HOME'])

Я пытался записать вывод и ошибку процесса в файл, но файл всегда пуст.

Я надеюсь, что кто-то может дать мне записку или указание, спасибо!

ps: если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Ответы [ 3 ]

2 голосов
/ 14 декабря 2011

Я проверяю журналы ошибок Apache и нахожу странную ошибку. После этого я захожу в интернет и обнаружил, что это старая ошибка python2.7 Так что я исправляю, а затем решил эту проблему! Спасибо всем.

1 голос
/ 12 декабря 2011

Команда "echo" может быть недоступна серверу apacher (зависит от значения PATH, не обязательно того же, что и при запуске вручную). Скорее всего, переменная $ HOME env не определена для учетной записи, на которой работает сервер Apache. Для сценариев CGI доступен стандартный набор переменных env (см., Например, http://www.perlfect.com/articles/cgi_env.shtml или даже саму спецификацию CGI ). Наконец, модуль apache mod_env позволяет вам передавать некоторые переменные env в сценарии, вы должны указать их в своем httpd.conf.

0 голосов
/ 04 декабря 2015

Скорее всего, это ошибка , сообщенная в Python 2.7.2. Обновление до новой версии должно решить проблему.

Ошибка, сообщаемая в журналах apache, выглядит примерно так:

Fatal Python error: Couldn't create autoTLSkey mapping
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...