2011-02-08 2 views
0

내가 서브 프로세스 모듈을 사용하여 파이썬에서 응용 프로그램을 시작 X 운영 체제에 대한 잘못된 방법으로 시작, 그래서이 응용 프로그램은 뿌리 "launchd에에서 활동 모니터 유틸리티에 나타납니다. 응용 프로그램이 터미널을 통해 수동으로 시작되면응용 프로그램은

cmd = "/usr/bin/sudo -H -u "+ self.getCurrentUserName() + "-P" + +os.path.join(dir, app) + app_args 
p = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True) 

가 작동 확인 현재 사용자 "launchd에"아래에 나타납니다. 이 가능 파이썬에서 현재 사용자 "launchd에"아래의 응용 프로그램을 실행할 수 있나요?

나는 실행 해요 OS X 10.6.

답변

1

당신은 sudo를 같은 명령을 실행 , 그것 항상 루트에 속하는 것으로 표시됩니다, 그 ... sudo는이 무엇을 당신이 다른 사용자 (뿐만 아니라 root)로 명령을 실행할 수있는`-u` 플래그를 사용하여 실제로

--Dave

+0

이다. OP의 예에서 그렇습니다. –