我无法从python中的函数内部获取重新启动子进程调用来工作。
这是代码
#!/usr/bin/python
import subprocess
def rebootscript():
print "rebooting system"
command = "/sbin/reboot"
subprocess.call(command, shell = True)
if __name__ == '__main__':
rebootscript
如果我从主代码(而不是在函数中)运行相同的代码,它将起作用。我究竟做错了什么?
最佳答案
尝试调用实际函数:
if __name__ == '__main__':
rebootscript()
表达式
rebootscript
将仅对函数对象求值而无需调用它。如果您在解释器中执行此操作,则会看到类似以下内容的内容:<function rebootscript at 0xffe1b7d4>
括号意味着您想调用函数而不是仅仅对函数求值,并且可以在下面的脚本中看到区别:
$ python
Python 2.7.8 (default, Jul 28 2014, 01:34:03)
[GCC 4.8.3] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def rebootscript():
... print "Hello"
...
>>> rebootscript
<function rebootscript at 0xffe1bed4>
>>> rebootscript()
Hello
>>> _
关于python - 使用子进程调用从python函数重启Linux服务器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27289053/