Python subprocess.popen在网络上运行
在本地电脑上,使用Python的subprocess.popen就像吃蛋糕一样简单,但在网络上调用它是否可行呢?
举个例子,我有三台电脑,一台叫workstation-pc,另外两台分别叫node1-pc和node2-pc……
我能否从workstation-pc上调用node1-pc上的一个进程,最好是不需要在node1-pc上运行特殊的服务器软件?
无论如何,非常感谢任何回复!
Gilles
编辑 忘了提,我使用的是Python 3
2 个回答
0
Fabric可能是个不错的选择,不过在*unix环境下,你完全可以通过ssh
来执行远程命令,没有什么能阻止你。
import subprocess
p = subprocess.Popen(['ssh', 'node1-pc', 'ls', '-ltr', '/etc'], stdout=subprocess.PIPE)
out, err = p.communicate()
out
将会包含远程进程的标准输出,也就是你在远程执行命令时看到的结果。