gpt4 book ai didi

python - ssh.exec_command ("shutdown -h 17:00 &")

转载 作者:太空狗 更新时间:2023-10-29 12:33:48 28 4
gpt4 key购买 nike

我有一个 Python Paramiko 脚本,可以将命令发送到内部网上的远程主机。有时我想一次向多个主机发送关闭命令。问题是 shutdown 命令只是简单地等待,除非您将其置于后台。我试过使用符号(如上所示,或转义:\&)。这是一个小测试程序。我的操作系统是 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

最佳答案

我已经按预期使用 shutdown 命令解决了这个问题。首先不要转义符号 (\&)。由于 shutdown 命令不会向 stdout 返回任何内容,因此我只是删除了处理输出的那些行。想要使用 shutdown with a time 的原因是为了通知用户。

#!/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 &")]
ssh.close()

关于python - ssh.exec_command ("shutdown -h 17:00 &"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749270/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com