【问题标题】:How to run Python programs in the background?如何在后台运行 Python 程序?
【发布时间】:2011-03-09 04:46:49
【问题描述】:

我有一个与浏览器交互的 Python 程序,现在我要把它作为我的后台进程,这样每次我点击按钮时,程序都应该开始在后台运行。

谁能帮我解决这个问题?

【问题讨论】:

    标签: python background


    【解决方案1】:

    如果您使用的是类 Unix 系统(例如 Mac OSX、Linux),则该命令为 python myscript &,它在后台运行该命令。通常,在 bash(以及大多数其他 shell)中,如果您将 & 附加到您的命令,它会在后台运行该命令。

    【讨论】:

    • 感谢您的回复,是的,我使用 Linux(Ubuntu) 作为我的操作系统。如果有任何疑问,我会检查答案并回复您。
    • 但是在这种情况下,如果我关闭终端窗口,python 进程就会被杀死。
    【解决方案2】:

    根据脚本的启动方式,使用 & 进行后台处理可能不一定有效,因为启动的可能是非登录 shell - 当浏览器会话终止时,它会终止。但是有一个专门针对这个问题的现有线程:Calling an external command in Python

    您想要做的是生成一个单独的进程,或者创建一个由您的浏览器单击启动的守护进程。

    【讨论】:

      【解决方案3】:

      如果您使用的是 Windows,这可能会有所帮助:Creating a python win32 service

      【讨论】:

      • 您也可以使用以下内容创建批处理文件:start /b /min myprocess.py,但这有点难看。可能还有其他方法可以做到这一点,但我尽量避开 Windows
      【解决方案4】:

      您可以使用http://wwwsearch.sourceforge.net/mechanize/faq.html 或使用http://curl.haxx.se/libcurl/python/ 或使用:

      * Creating your own HTTP requests using urllib2 standard python library
      * Using a more advanced library that provides the capability to navigate through a websit simulating a browser such as  mechanize.
      

      但在 Linux 上触发脚本的“触发器”是您必须开发的。

      希望这会有所帮助。

      【讨论】:

        【解决方案5】:
        nohup python filename.py &
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-07-27
          • 1970-01-01
          • 2022-07-02
          • 2016-01-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多