我是Python的新手。
我正在尝试SSH到服务器执行一些操作。但在执行这些操作之前,我需要加载一个配置文件,这需要60-90秒的时间。在加载完配置文件后,是否有一种方法可以保持SSH会话开启,以便稍后执行操作?
p = subprocess.Popen("ssh abc@xyz'./profile'", stdout=subprocess.PIPE, shell=True)
result = p.communicate()[0]
print result
return result
这将加载配置文件并退出。有没有办法保持以上ssh会话打开并运行一些命令?
示例:
p = subprocess.Popen("ssh abc@xyz'./profile'", stdout=subprocess.PIPE, shell=True)
<More Python Code>
<More Python Code>
<More Python Code>
<Run some scripts/commands on xyz server non-interactively>
加载配置文件后,我希望能够在远程服务器上运行一些脚本/命令。只需执行以下操作即可实现:
p = subprocess.Popen("ssh abc@xyz './profile;**<./a.py;etc>**'", stdout=subprocess.PIPE, shell=True)
然而,一旦完成,配置文件就存在了。下一次我想在上述服务器上执行某些脚本时,需要再次加载配置文件(这需要60-90秒)。我正在尝试找出一种方法,可以创建某种隧道(或任何其他方式),在加载配置文件后保持ssh连接开放,以便用户无需等待60-90秒,每当要执行任何操作时。
我无法删除该配置文件。
ssh -t abc@xyz "bash -l"
。 - ddor254