如何在登录服务器后立即在mac终端上执行python脚本编写的命令
我尝试了上面的代码,但该命令将在注销服务器后执行如何在登录服务器后立即在mac终端上执行python脚本编写的命令,python,macos,authentication,ssh,command,Python,Macos,Authentication,Ssh,Command,我尝试了上面的代码,但该命令将在注销服务器后执行 import os.path import subprocess import sys os.system('sshpass -p password ssh root@esst-warp-d') subprocess.call('lscpu') 如果我尝试上面的代码,我将在第五行得到无效的语法 你能帮我解决这个问题吗。当你运行操作系统(“sshpass…”)时,它会创建一个新的进程,与其他进程无关,并在其中运行你的sshpass命令。然后进程退
import os.path
import subprocess
import sys
os.system('sshpass -p password ssh root@esst-warp-d')
subprocess.call('lscpu')
如果我尝试上面的代码,我将在第五行得到无效的语法
你能帮我解决这个问题吗。当你运行操作系统(“sshpass…”)时,它会创建一个新的进程,与其他进程无关,并在其中运行你的
sshpass
命令。然后进程退出
当您运行subprocess.call()
时,它会在本地计算机上创建一个新进程,与刚才退出的进程无关,并在其中运行您的命令。然后进程退出
实际上,您希望创建一个连接到远程Linux机器的新进程,然后在那里运行一个命令,因此您需要:
import os.path
import subprocess
import sys
os.system('sshpass -p password ssh root@esst-warp-d')
ssh root@esst-warp-d "lscpu"
在您的终端中尝试。您想执行命令然后留在终端中,还是执行命令然后退出?我想执行命令并留在终端中。
sshpass -p password ssh root@esst-warp-d '/path/to/lscpu'