종료 코드 3 또는 1을 제외한 0이 아닌 값을 메인에서 얻으려면 어떻게해야합니까? 하나의 프로그램을 실행하려고하지만 실행시 3 대신 종료 코드 1을 얻습니다. 종료 코드 3을 얻고 싶다면 어떻게해야합니까? 예 :다른 출구 코드를 기본 언어 인 2 또는 3과 같이 어떻게 가져 가나 요?
from subprocess import Popen, PIPE
def console(cmd):
p = Popen(cmd, shell=True, stdout=PIPE)
out, err = p.communicate()
return (p.returncode, out, err)
if __name__ == '__main__':
result = console('go build test.go')
result = console('./test')
result = console('echo $?')
print 'returncode: %s' % result[0]
print 'output: %s' % result[1]
print 'error: %s' % result[2]
내가가 더 사용할 수있는 파이썬 프로그램의 종료 상태 코드를 기록 할 :
내가 파이썬 스크립트를 통해 스크립트를 이동 실행하려는package main
import "os"
func main() {
// Exit with status code.
os.Exit(3)
}
아래 파이썬 스크립트를 찾아주세요 다른 논리.
당신이 이동에서 명령을 실행하는 줄 것이다
로 변경 될 수 있으며, 해당 응용 프로그램의 종료 코드를 원하는? 또는 예를 들어 명령을 실행합니다. 쉘에서 어떤 코드가 있는지보고 싶습니까? – icza
무언가를 시도했지만 작동하지 않는 경우 수행 한 작업과 실패한 방법을 자세하게 게시하십시오. 이 경우 프로그램을 실행하려고했지만 올바른 종료 코드를 얻지 못했다고합니다. 그 때 당신을 도울 것이 매우 쉬울 것입니다 1. 당신이 당신의 코드를 어떻게 달렸는지 배치하십시오. 2. 프로그램을 실행 한 후에 종료 코드를 얻으려고 시도한 방법을 게시했습니다. – nos
당신은'go 빌드 '를 사용하고 있습니다. 이렇게하면 바이너리가 컴파일되고 실행되지 않습니다. 'go run'을 사용하십시오. 또한 보통 파이썬의 하위 프로세스에서'shell = True'를 사용하고 싶지 않습니다. 완전히 불필요하며 보안 문제까지 열어 줄 수 있습니다. – Carpetsmoker