2014-10-21 15 views
1

rpyc를 통해 명령을 실행하고이 명령의 결과를 얻어야합니다.rpyc를 통해 명령의 출력을 얻는 방법은 무엇입니까?

그러나 명령을 실행할 때마다 원격 서버에 인쇄되므로 결과를 가져올 수 없습니다. 내가 뭐하는 거지

은 다음

import os, sys 
import rpyc 

conn = rpyc.classic.connect('server_remote') 
a = conn.modules.os.system("ls -lh") 

print a 

내 명령의 출력은 내가 실행되는 명령에 대해 0입니다.

python get_output.py 
0 
+0

이것은 rpyc와 아무 관련이 없습니다. 'system ("ls -lh")'을 로컬로 실행하면 (stdout이 프로세스의 로컬 일 수 있음을 인정한다면) 같은 행동을하게 될 것이다. – shx2

답변

1

시스템 대신 os.popen 또는 subprocess.checked_output을 사용하십시오. 출력은 표준 출력에 출력되는 반면 시스템은 종료 코드를 반환합니다 (즉, 프로그래밍 방식으로 출력하지 않습니다).