如何通过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
1 个回答
1
用 os.popen 或 subprocess.checked_output 来代替 system。因为 system 只会返回一个退出代码,而输出内容会直接打印到你的标准输出(也就是你看不到这些内容,无法在程序中获取到)。