elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Python kill thread
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Python kill thread  (Leído 5,738 veces)
nikther

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Python kill thread
« en: 9 Mayo 2012, 15:44 pm »

Hola gente , no soy uno de los que preguntan en los foros, soy mas de buscar en google y los libros, pero estoy desesperado, nececito a algun maestro en python que me de un ostia y enceña que es lo que pasa con los modulos thread, y threading

Mi problema principal, es que intendi bien como crear varios procesos, pero mi problemas existen cuando quiero matarlos, 
durante semanas buscava una manera decente pero no encuentro.

La cuestion es que se como matar un proceso desde dentro, por ejemplo tenemos un bucle while y dentro de ell una condicion que si se cumple mata el proceso mediante exit.

Esto lo tengo pillado, pero si el procesos, es un bucle que no puedo modificar por ejemlo una ventana grafica de Tkinter, funcion mainloop() que tiene su propio bucle, como llamar la function thread.exit() desde tkinter.mainloop() sin agregar un boton con esta funcion a la GUI?

Etoy desarollando un bot para juego, en una apuesta con amigo El = Java yo Python y queien llega primero se lleva el reino.
P.S: Tener cuidado al jugar con threads no por nada Les pusieron una variable Deamon, colge por minimo 10 veces el linux, y win7 unos 40 mientras buscava respuestas >:D.


En línea

nikther

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Python kill thread
« Respuesta #1 en: 9 Mayo 2012, 17:14 pm »

Bueno gente por duda, voy explicar a lo que llege volviendo a leer los doc de python, quisa encontre una respuesta a mi pregunta pero no me convence si alguien save otra, estare mas que encantado escucharla.

en si un Thread lo que hace es abrir un nuvo proceso en nuestro equipo, por lo que tuve que cancelar una lista enorme de pythonw.exe ejecutados en mi win7.

la funcion thread.exit() no es nada mas que una exepcion que se crea y obliga ha cerarce el proceso en modo silencioso.

Saliendo de etos factos, y de lo que en documentacion licita de desarolladores no se prezenta ninguna evidencia de como cerrar un proceso, sin previamente no definirlo como una instancia con una funcion que crea la exepcion, la manera de matar un hilo en ejecucion seria matandolo usando el recurso de sistema, al momento no quiero profundizar en este sentido, ya que tampoco me atrevo por el tiempo, pero ya vere a este demonio en futuro no muy lejano. Pero se ve que en esto pensaron los creadores y dejaro funcion para obtener la id de hilo que para este cometido viene muy a mano.

Conclusiones, maneras de prever una finalizacion de un thread antes de ejecutarlo:
como ya lo de cia antes  con una condicion en bucle que se va ejecutar:
Código
  1. x = False
  2. def bucle():
  3. while True:
  4.  if x:
  5.   try:#por si acaso nunca esta demas, al no ser que nececitamos aquellos pocos ciclos que ocupa
  6.    thread.exit()
  7.   except:
  8.    printe "un error al acavar el proceso hijo"
  9.  #el codigo que quieremos poner
  10. thread.start_new(bucle, ())
Para acavar el proceso lo unico que hace falta es cambiar la x=True y esperar su siguente ejecucion.
bueno de este metodos. como el threading.Thread y el viejo thread crearian una exepcion "SystemExit"


Elektro H@cker: usa el botón "insertar código"


« Última modificación: 9 Mayo 2012, 18:16 pm por EleKtro H@cker » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
#include <thread/AsyncCallback.h> #include <thread/Runnable.h>
GNU/Linux
Codename!! 1 3,085 Último mensaje 18 Agosto 2011, 07:14 am
por Foxy Rider
#include <thread/AsyncCallback.h> #include <thread/Runnable.h>
Programación C/C++
Codename!! 0 2,269 Último mensaje 15 Agosto 2011, 21:31 pm
por Codename!!
[Python]Duda con thread
Scripting
.:UND3R:. 4 2,920 Último mensaje 11 Mayo 2015, 10:40 am
por Eleкtro
Problema al iniciar un THREAD python
Scripting
Panic0 2 8,594 Último mensaje 17 Julio 2021, 22:51 pm
por Panic0
Cyber Kill Chain
Tutoriales - Documentación
ehn@ 0 1,201 Último mensaje 6 Noviembre 2023, 09:14 am
por ehn@
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines