【发布时间】:2011-03-09 04:46:49
【问题描述】:
我有一个与浏览器交互的 Python 程序,现在我要把它作为我的后台进程,这样每次我点击按钮时,程序都应该开始在后台运行。
谁能帮我解决这个问题?
【问题讨论】:
标签: python background
我有一个与浏览器交互的 Python 程序,现在我要把它作为我的后台进程,这样每次我点击按钮时,程序都应该开始在后台运行。
谁能帮我解决这个问题?
【问题讨论】:
标签: python background
如果您使用的是类 Unix 系统(例如 Mac OSX、Linux),则该命令为 python myscript &,它在后台运行该命令。通常,在 bash(以及大多数其他 shell)中,如果您将 & 附加到您的命令,它会在后台运行该命令。
【讨论】:
根据脚本的启动方式,使用 & 进行后台处理可能不一定有效,因为启动的可能是非登录 shell - 当浏览器会话终止时,它会终止。但是有一个专门针对这个问题的现有线程:Calling an external command in Python
您想要做的是生成一个单独的进程,或者创建一个由您的浏览器单击启动的守护进程。
【讨论】:
如果您使用的是 Windows,这可能会有所帮助:Creating a python win32 service
【讨论】:
您可以使用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 上触发脚本的“触发器”是您必须开发的。
希望这会有所帮助。
【讨论】:
nohup python filename.py &
【讨论】: