Вот мой подпроцесс импорта программы
print "Content-type:text/html\r\n\r\n"
print "File starting to execute"
print "<br>"
proc = subprocess.Popen(["sudo", "python", "test3.py"], stdout=subprocess.PIPE)
output = proc.stdout.read()
print "output is %s" %output
print "<br>"
print "File Executed Awesomely"
Так что, когда я запускаю его из командной строки, он отлично работает, как показано ниже ->
[root@localhost html]# python test2.py
Content-type:text/html
File starting to execute
<br>
output is .
Sent 1 packets.
<br>
File Executed Awesomely
[root@localhost html]#
, что идеально для ".Отправлено 1 пакетов. "это то, что я хочуНо когда я запускаю его с веб-страницы, на веб-странице просто отображается
File starting to execute
output is
File Executed Awesomely
, поэтому я изначально думал, что это происходит из-за того, что я что-то делал неправильно, получая выходные данные, но слушал порт с wireshark (моя другая программазвонки отправляют пакет) и похоже, что при вызове через веб-страницу пакеты не отображаются, но это происходит, когда я вызываю его в командной строке (так же).Глядя на мой apache error_log ->
[Wed Jan 18 18:15:11 2012] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Wed Jan 18 18:15:11 2012] [notice] Digest: generating secret for digest authentication ...
[Wed Jan 18 18:15:11 2012] [notice] Digest: done
[Wed Jan 18 18:15:11 2012] [warn] ./mod_dnssd.c: No services found to register
[Wed Jan 18 18:15:11 2012] [notice] Apache/2.2.17 (Unix) DAV/2 configured -- resuming normal operations
любые предложения о том, как я могу это исправить, чтобы мой скрипт apache cgi-bin выполнялся так же, как командная строка?
ПРАВКА: глядя нажурнал после нескольких звонков делает это неоднократно
[Wed Jan 18 18:22:37 2012] [error] [client 10.117.153.89] :
[Wed Jan 18 18:22:37 2012] [error] [client 10.117.153.89] sorry, you must have a tty to run sudo