登录服务器后如何立即在Mac终端中执行用python脚本编写的命令

问题描述 投票:-1回答:1
import os.path
import subprocess
import sys
os.system('sshpass -p password ssh root@esst-warp-d')
subprocess.call('lscpu')

我尝试了上面的代码,但是该命令将在注销服务器后执行。

import os.path
import subprocess
import sys
os.system('sshpass -p password ssh root@esst-warp-d')
ssh root@esst-warp-d "lscpu"

如果尝试上述代码,我将在第五行中获取语法无效的代码

您能帮我解决问题吗?

python macos authentication ssh command
1个回答
0
投票

[当您运行os.system("sshpass ...")时,它将创建一个与其他任何内容都不相关的新进程,并在其中运行您的sshpass命令。然后该过程退出。

[当您运行subprocess.call()时,它将在本地计算机上创建一个新进程,该进程与上面刚刚退出的进程无关,并在其中运行命令。然后该过程退出。

您实际上是想创建一个连接到远程Linux计算机的新进程,然后在该计算机上运行命令,因此您需要这样做:

sshpass -p password ssh root@esst-warp-d '/path/to/lscpu'

在终端中尝试。

© www.soinside.com 2019 - 2024. All rights reserved.