一旦运行后如何在后台启动python脚本?

时间:2011-06-14 14:39:07

标签: python process background

def main(self,argv):
    do stuff.......

if __name__ == '__main__':
    main(sys.argv[1:])

运行我的脚本时,如何让它立即将main()作为后台进程运行? 它将运行完成并将信息输出到文件。

我忘了说...目标是能够在任何操作系统上运行它。 我不想修改在命令行中调用脚本的方式,我希望脚本本身使它在后台运行。

4 个答案:

答案 0 :(得分:3)

易:

$ python yourpythonscript.py &

操作系统将为您处理;)当然,如果这是在Windows或* nix上,您必须说明。

如果你在windows下运行它,你可能想检查cmd.exe程序 - 我认为有一个选项可以将其参数作为后台进程运行...

或者如果您在linux机器下运行它,您可以使用ps aux | grep yourpythonscript.py

检查该过程

答案 1 :(得分:3)

在Windows上,使用pythonw.exe代替python.exe运行程序。

在Unix和MacOS上,使用Python daemon recipepython-daemon包。

答案 2 :(得分:1)

我会使用Python threading库。这将允许您在后台运行main()。

答案 3 :(得分:0)

在linux中你可以使用&在后台运行它,如果你希望它运行,即使你关闭该shell使用nohup命令: nohup python yourpythonscript.py &