python操作系统阻止后退命令

2024-06-24 13:37:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我设置了一个定时器来监控这些代码。在

def SwitchToDstSystem(SystemNo):
    grub_util.SwitchToSystem(SystemNo = SystemNo)
    logger.debug("switch to %s"%SystemNo)
    time.sleep(10)
    os.system('/usr/bin/setsid /sbin/shutdown -r now &')
    logger.debug("Reboot in 10 seconds")
    time.sleep(10)
def UpgradeGsp(StatusDict):
    SwitchToDstSystem(SystemNo)
while True:
    UpgradeGsp(SystemNo)

有时很快结束,但有时会超时。 我认为有时os.system应该被阻止。在

我的服务器运行mysql,有人知道为什么os.system被阻塞了吗?在

^{pr2}$

Tags: 代码debugtimeosdefutilsleeplogger
1条回答
网友
1楼 · 发布于 2024-06-24 13:37:16

最近没有从代码运行程序。但只要使用subprocess.call() 你还需要root权限才能使用shutdown。在

# Code not tested. If this doesn't work try the `pexpect` module
# to expect the password prompt.
import subprocess
subprocess.call('sudo shutdown -r now')

我可以写出完整的工作代码,但这需要一些时间。我认为你应该解决你的问题,完成挑战总是很有趣的。在

我只使用子程序来调用程序或系统信息。在

Pexpect通过命令行与程序通信。 虽然你需要增加你自己的期望。在

Pexpect API DocumentationSpawn()类类似于subprocess.call()。读Spawn() Class Docs。在

(主题外:有一个pxssh模块是从pexpect构建的。一个非常好的工具来创建小的管理脚本。在

相关问题 更多 >