如何在运行后后台启动Python脚本?

1 投票
4 回答
7472 浏览
提问于 2025-04-16 19:32
def main(self,argv):
    do stuff.......

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

当我的脚本运行时,我该如何让它立即在后台运行main()这个函数呢?这个函数会一直运行到完成,并把信息输出到一个文件里。

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

4 个回答

1

我会使用Python的threading库。这个库可以让你在后台运行main()函数。

3

在Windows系统上,运行程序时要用 pythonw.exe,而不是 python.exe

在Unix和MacOS系统上,可以使用 Python守护进程的做法,或者使用 python-daemon 这个包。

3

简单:

$ python yourpythonscript.py &

操作系统会帮你处理这些事情 ;) 当然,你得说明这是在Windows还是*类Unix系统上。

如果你是在Windows上运行这个程序,你可能想看看 cmd.exe 这个程序——我记得里面有个选项可以让它在后台运行命令...

如果你是在Linux机器上运行这个程序,你可以用 ps aux | grep yourpythonscript.py 来查看进程。

撰写回答