重启远程系统不起作用?

时间:2013-06-14 11:15:51

标签: python python-2.7

我尝试了下面的代码,它没有重新启动我的远程PC。

for line in readips.readlines():
    line = line.strip()
    print("The ip address is : ") + str(line)
    rebootsys = "ssh root@"+str(line) + " reboot"
    print("The reboot system ip is:") + str(rebootsys)
    if(os.system(rebootsys %locals())==0):
        print("Done")
    else:
        print("Not able to reboot")

当执行print语句时成功打印IP。我是通过使用wing IDE一步一步运行的。当系统开始执行时如果条件if(os.system(rebootsys %locals())==0它只是空闲,它将不会移动到下一步,如果它重新启动然后它必须移动print("Done")否则它必须移动其他部分,但只是等待如果条件本身。怎么做
我需要通过python脚本从我的ubuntu系统重启多个ubuntu系统。

1 个答案:

答案 0 :(得分:1)

我建议切换到subprocess模块并从启动的命令中捕获输出,然后决定启动进程下一步该做什么。让我们说使用system()这些天并不是一种好的做法,原因很多,从优雅到安全。

很好的例子,您可以在17.1.4.3. Replacing os.system()17.1.4.5. Replacing os.popen(), os.popen2(), os.popen3()部分使用此模块。相信我,使用那些值得投资的几行代码: - )