Come uccidere un thread con FG in Python

April 13

Come uccidere un thread con FG in Python


Multithreading consente diversi compiti che devono essere eseguite contemporaneamente da processori di computer moderni. In linguaggi come Python, questo può essere conveniente per l'esecuzione di operazioni lunghe di calcolo o le attività che richiedono una quantità variabile di tempo, come ad esempio le richieste Web. Tuttavia, il multithreading può impedire il vostro programma Python da essere ucciso tramite un interrupt di tastiera. È possibile utilizzare il comando Unix "fg" per tornare al processo in primo piano dopo aver interrotto un thread in esecuzione in background.

istruzione

1 Avviare un programma Python che utilizza threading. Il seguente codice è un programma Python esempio ridotto all'osso che utilizza filettatura:

import threading

Classe workerThread (threading.Thread):
def init (auto, valore)

threading.Thread.__init__(self)
self.value = value

run DEF (auto)

result = some_computation(self.value)
log("%s returns %s." % (self.value, result))

def main ():
workerThread (some_value) .start ()
workerThread (another_value) .start ()

se il nome == "principale":
principale()

2 Premere il tasto "Ctrl" + "Z" sulla tastiera di sospendere l'attività corrente.

3 Inserire "uccidere %%" nella linea di comando per inviare un segnale di uccidere morbido al processo in esecuzione Python.

4 Inserire il comando "fg" nel prompt dei comandi per tornare a Python in esecuzione in primo piano.

5 Premere il tasto "Ctrl" + "C" per uccidere il processo Python e tornare al prompt dei comandi.

Consigli e avvertenze

  • E 'anche possibile inviare il comando "kill -9 %%" di risolvere immediatamente il processo di Python.