3
장고에서 다음의 파이썬 코드를 사용하여 장고에서 펄 스크립트를 실행합니다. 서브 프로세스 호출하기 장고에서 팝업하기
def run_command(cmd, input_data=None):
assert type(cmd) == list
stdout = ''
stderr = ''
p = subprocess.Popen(cmd,
bufsize=1000*1000,
stdin=subprocess.PIPE,
stderr=subprocess.PIPE,
stdout=subprocess.PIPE)
if (input_data):
p.stdin.write(input_data)
p.stdin.close()
log("closed stdin")
stdout = p.stdout.read()
log("read stdout")
stderr = p.stderr.read()
return (stdout, stderr)
12:04
에 우분투
10:04
의 코드를 이동 한 후
p.stdout.read()
에 대한 호출은 이제 다음 실패 시작했다. 그것이 실패하면 로그 파일에서 마지막으로 보는 것은
closed stdin
이고 nginx는
502 Bad Gateway
페이지를 표시합니다.
'stdout, stderr = p.communicate (input_data)'를 사용해 보셨습니까? btw, 당신은'bufsize = -1' (시스템 기본값)을 사용할 수 있습니다. – jfs
방금 시도했지만 불행히도 p.communicate (input_data)에서 여전히 오류가 발생했습니다. – FunLovinCoder
추적 표시 란 무엇입니까? – jfs