繁体   English   中英

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

[英]How to start a python script in the background once it's run?

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

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

当我的脚本运行时,我怎样才能使它立即作为后台进程运行 main() ? 它将运行完成并将信息输出到文件。

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

简单的:

$ python yourpythonscript.py &

操作系统将为您处理;)当然,如果这是在 windows 或 *nix 上,您将不得不 state。

如果您在 windows 下运行此程序,您可能需要检查cmd.exe程序 - 我认为有一个选项可以将其 arguments 作为后台进程运行...

或者如果你在 linux 机器下运行这个,你可以使用ps aux | grep yourpythonscript.py检查进程。 ps aux | grep yourpythonscript.py

在 Windows 上,使用pythonw.exe而不是python.exe运行程序。

在 Unix 和 MacOS 上,使用Python 守护程序配方或 python-守护python-daemon package。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM