我需要使用Python脚本通过SSH在远程计算机(Ubuntu Mate 16.04)上执行2个命令。
run_pigpiod_remote
在远程RPi上运行守护进程,如下面代码中的#Line0所示。 #Line1根据需要建立SSH链接并执行守护进程pigpiod
。
为了验证成功运行,我希望使用#Line2中所述的pgrep -x pigpiod
。当#Line2被写入时 - 我需要再次输入密码。
如何避免多次输入密码(输入SSH,为#Line2运行sudo
和第3次)
def run_pigpiod_remote(adress):
if ip[0]==adress:
print(adress,"is a local machine")
run_pigpiod_local()
else: #Line0
print(adress," is a remote machine")
result = subprocess.run(['ssh','-t','guy@'+adress,'sudo','pigpiod']) #Line1
result2 = subprocess.run(['ssh','-t','guy@'+adress, "pgrep -x ", "pigpiod"]) #Line2
答案 0 :(得分:1)
试试这个
subprocess.run(['ssh','-t','guy@'+adress,'sudo pigpiod && pgrep -x pigpiod'])