[英]How to execute the command written in python script in mac terminal immediately after logged in to the server
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"
如果我嘗試上面的代碼,我會在第五行得到語法無效
你能幫我解決這個問題嗎?
當您運行os.system("sshpass ...")
它會創建一個與其他任何內容無關的新進程,並在其中運行您的sshpass
命令。 然后該過程退出。
當您運行subprocess.call()
它會在您的本地機器上創建一個與上面剛剛退出的進程無關的新進程,並在其中運行您的命令。 然后該過程退出。
你實際上想要創建一個連接到遠程 Linux 機器的新進程,然后在那里運行一個命令,所以你需要這個:
sshpass -p password ssh root@esst-warp-d '/path/to/lscpu'
在您的終端中嘗試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.