2012-10-02 2 views
3

문제가있는 라인에서 하위 프로세스와 거부되었습니다 errno는 13 권한이파이썬

ret=subprocess.call(shlex.split(cmd)) 

cmd = /usr/share/java -cp pig-hadoop-conf-Simpsons:lib/pig-0.8.1-cdh3u1-core.jar:lib/hadoop-core-0.20.2-cdh3u1.jar org.apache.pig.Main -param func=cat -param from =foo.txt -x mapreduce fsFunc.pig 

오류가 있습니다.

File "./run_pig.py", line 157, in process 
    ret=subprocess.call(shlex.split(cmd)) 
File "/usr/lib/python2.7/subprocess.py", line 493, in call 
    return Popen(*popenargs, **kwargs).wait() 
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__ 
    errread, errwrite) 
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child 
    raise child_exception 
OSError: [Errno 13] Permission denied 

추가 정보가 필요한지 알려주세요. 어떤 도움을 주셔서 감사합니다. 감사.

+0

이,'foo.txt' 당신이 그 명령을 실행할 때이 될 것으로 기대 어디에되지 않습니다 제에 대한 chmod -R 777 /your/project/

의 작품을 ... 입력; 'foo.txt'와'fsFunc.pig'를 전체 경로 이름과 함께 전달해야합니다. –

+0

이 프로그램은 현재 실행중인 서버에서 실행될 때 실행됩니다. 우분투 바탕 화면에서이 작업을 실행하려고합니다. 존재하지 않는 foo.txt는 현재 문제가 아니며 지금은 단순히 자리 표시 자일뿐입니다. – wDroter

답변

7

오류는 /usr/share/java에 실행 파일이 아닌 디렉터리이기 때문에 실행할 수있는 권한이 없음을 나타냅니다.

우분투 컴퓨터에서 java 실행 파일 (아마도 /usr/bin/java)의 위치를 ​​찾고 /usr/share/을 바꿔 올바른 위치를 가리 키도록하십시오.

+0

Java가 bin/java에 제대로 설치되지 않았습니다.이 문제가 해결되었습니다. – wDroter

0

OS 권한 오류입니다. 사용자가 해당 디렉토리/파일에 쓸 수있는 권한이 없음을 의미합니다. 파이썬과 아무 관련이 없습니다.

+0

서면으로 된 것이 보이지 않습니다 ... – glglgl

+0

* 실행 권한 –

2

단지 @ Woobe의 의견뿐만 아니라