Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在登录服务器后立即在mac终端上执行python脚本编写的命令_Python_Macos_Authentication_Ssh_Command - Fatal编程技术网

如何在登录服务器后立即在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'