我有一个 Python Paramiko 脚本,可以将命令发送到 Intranet 上的远程主机。有时我想一次将关闭命令发送到多个主机。问题是关闭命令只是坐下来等待,除非您将其作为背景。我尝试过使用 & 符号(如上所示,或转义:\&)。这是一个小测试程序。我的操作系统是 RHEL Linux 5.9 (Python 2.4.3)。请注意,sudoers 会为某些用户禁用 requiretty。
#!/usr/bin/python
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("<hostname>",username="<my username>", password="<mypassword>")
stdin, stdout, stderr = ssh.exec_command("sudo /sbin/shutdown -h 17:00 \&")
stdin.write('\n')stdin.flush()
data = stdout.read().splitlines()
for line in data:
print line