网络上的Python subprocess.popen
Python subprocess.popen在本地机器上非常简单,但是可以通过网络调用它吗 例如,假设我有3台电脑,一台叫做工作站电脑,另一台叫做node1电脑和node2-pc 是否可以从工作站pc调用(例如,node1 pc)上的进程,最好不必在node1 pc上运行特殊的服务器软件 无论如何,非常感谢您的回复 吉尔斯 编辑网络上的Python subprocess.popen,python,network-programming,subprocess,Python,Network Programming,Subprocess,Python subprocess.popen在本地机器上非常简单,但是可以通过网络调用它吗 例如,假设我有3台电脑,一台叫做工作站电脑,另一台叫做node1电脑和node2-pc 是否可以从工作站pc调用(例如,node1 pc)上的进程,最好不必在node1 pc上运行特殊的服务器软件 无论如何,非常感谢您的回复 吉尔斯 编辑 忘了提到我正在使用Python 3,我建议使用以下两种方法之一: 面料示例: from fabric.api import env, run env.hos
忘了提到我正在使用Python 3,我建议使用以下两种方法之一:
from fabric.api import env, run
env.hosts = ['host1', 'host2']
def mytask():
run('ls /var/www')
Fabric可能是一种方式,但是,在*nix环境中,没有什么可以阻止您通过
ssh
执行远程命令
import subprocess
p = subprocess.Popen(['ssh', 'node1-pc', 'ls', '-ltr', '/etc'], stdout=subprocess.PIPE)
out, err = p.communicate()
out
将包含远程进程的标准输出。否您需要在3台联网机器之间创建消息传递系统。。。可能是芹菜之类的东西……谢谢你的回复,但我忘了告诉曼蒂翁我正在使用Python 3,而且Fabric不能与之配合使用!忘了提到我使用Python3,所以我没有织物!我尝试了Popen调用,但得到了一个错误,无论我尝试什么“FileNotFoundError:[WinError 2]系统找不到指定的文件”Windows不同。您需要使用合适的ssh客户端和服务器。