2011-03-09 166 views
8

Tengo un programa de Python que interactúa con el navegador, y ahora quiero hacerlo como mi proceso en segundo plano, de modo que cada vez que haga clic en el botón, el programa debería comenzar a ejecutarse en segundo plano.¿Cómo ejecutar programas de Python en segundo plano?

¿Alguien me puede ayudar con una solución fácil para esto?

+4

¿con qué sistema operativo? –

+0

Estoy usando Ubuntu – Anusha

Respuesta

6

Si está en un sistema tipo Unix (por ejemplo, Mac OSX, Linux), el comando es python myscript &, que ejecuta el comando en segundo plano. En general, en bash (así como en la mayoría de las otras shells) si agrega un & a su comando, ejecuta el comando en segundo plano.

+0

Gracias por la respuesta y sí, estoy usando Linux (Ubuntu) como mi sistema operativo. Comprobaré la respuesta y responderé en caso de dudas. – Anusha

+0

@Anusha de nada. –

+4

Pero en este caso, si cierro la ventana de mi terminal, el proceso de Python se cancela. –

0

Y si estás utilizando Windows, esto podría ayudar: Creating a python win32 service

+0

también podría hacer un archivo por lotes con algo así como: start/b/min myprocess.py, pero eso es feo. probablemente haya otras maneras de hacerlo también, pero trato de alejarme de Windows –

2

Dependiendo de la forma en que se puso en marcha la secuencia de comandos, backgrounding con & no necesariamente funciona ya que hay un intérprete de no ingreso que podrían ser lo que se puso en marcha - y terminaría cuando termine su sesión de navegador. Pero hay un hilo completo dedicado a este problema: Calling an external command in Python

Lo que desea hacer es engendrar un proceso separado, o tal vez crear un daemon que se inicie con el clic de su navegador.

0

Puede utilizar http://wwwsearch.sourceforge.net/mechanize/faq.html o utilizar http://curl.haxx.se/libcurl/python/ o uso:

* 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. 

pero el "disparador", que se disparará la secuencia de comandos en Linux, es lo que tiene que desarrollar.

Espero que esto ayude.

0
nohup python filename.py & 
Cuestiones relacionadas