def main(self,argv):
do stuff.......
if __name__ == '__main__':
main(sys.argv[1:])
运行我的脚本时,如何让它立即将main()作为后台进程运行? 它将运行完成并将信息输出到文件。
我忘了说...目标是能够在任何操作系统上运行它。 我不想修改在命令行中调用脚本的方式,我希望脚本本身使它在后台运行。
答案 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 recipe或python-daemon
包。
答案 2 :(得分:1)
我会使用Python threading库。这将允许您在后台运行main()。
答案 3 :(得分:0)
在linux中你可以使用&在后台运行它,如果你希望它运行,即使你关闭该shell使用nohup命令:
nohup python yourpythonscript.py &