我目前正在使用python 3.2,我想编写一个代码,在Windows中生成3个命令提示符实例。然后,我需要使用Plink(putty)在每个命令提示中访问不同的服务器,并在每个命令提示中并行运行耗时的程序。虽然我能够创建三个命令提示实例,但我无法向这些提示发送命令。有没有办法这样做?我应该为此目的使用多处理/多线程吗?
我编写了以下用于创建命令提示的代码。有没有办法将命令传递给每个提示?
def Plink():
name = multiprocessing.current_process().name
proc = subprocess.Popen("C:\\Windows\\System32\\cmd.exe")
if __name__ == '__main__':
Plink_1 = multiprocessing.Process(name='Plink 1', target=Plink)
Plink_2 = multiprocessing.Process(name='Plink 2', target=Plink)
Plink_3 = multiprocessing.Process(name='Plink 3', target=Plink)
Plink_1.start()
Plink_2.start()
Plink_3.start()
答案 0 :(得分:1)
import subprocess
def make_shells(n):
for i in range(n):
subprocess.Popen(["cmd.exe"])
您想要做的不是通常所说的“多处理”......
以下是如何使用paramiko连接到远程SSH服务器并运行命令。
import paramiko
def run_ls_la():
client = paramiko.SSHClient()
client.connect("myssh.server.org", username="foo", password="bar")
stdin, stdout, stderr = client.exec_command("ls -la")
print(stdout.read())
您也可以使用公钥身份验证,查看文档。