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

标签 python linux paramiko

我有一个 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/

相关文章:

python - 将图像保存到用户模型中

python - Python 中的 HTTP 请求和 JSON 解析

python - 为什么 Z3Py 没有提供所有可能的解决方案

python - 将分而治之递归算法转换为迭代版本

linux - 这个命令(shell代码)问题有什么解决方案吗

python - Paramiko Python : No handlers for paramiko. 传输 - 获取类型错误

java - 当我启动我的 java 应用程序时,我可以在我的 linux 控制台上获取路径吗?

c - 管理客户端进程分配的资源

python - 如何使用Python将特定格式的文件从sftp复制到本地

可以从外部以优雅的方式终止的 Python 脚本