4 - Multiprocessing.ipynb#
Librería Multiprocessing de Python#
La librería Multiprocessing de Python es una biblioteca estándar que permite la creación de procesos en paralelo en una computadora con múltiples núcleos o CPUs. Proporciona una interfaz de programación para crear y administrar procesos de manera fácil y eficiente, lo que permite acelerar la ejecución de programas que realizan tareas intensivas en cómputo.
4 - ¿Cómo matar un proceso?#
El método is_alive() del objeto Process devuelve True si el proceso está en ejecución.
El proceso se puede matar utilizando el método terminate() del objeto Process.
El método terminate() envía una señal al proceso.
El método exitcode del objeto Process devuelve el código de salida del proceso.
Código de salida del proceso:
“== 0”: Esto significa que no se produjo ningún error
“> 0”: Esto significa que el proceso tuvo un error y salió de ese código
“< 0”: Esto significa que el proceso se eliminó con una señal de -1 * ExitCode
import multiprocessing
import time
def foo():
print('Inicio función')
time.sleep(1)
print('Final función')
if __name__ == '__main__':
p = multiprocessing.Process(target=foo)
print('Proceso antes ejecución:', p, p.is_alive())
p.start()
print('Proceso ejecutandose:', p, p.is_alive())
#p.join()
p.terminate()
print('Proceso terminado:', p, p.is_alive())
time.sleep(1)
print('Proceso terminado 1 segundo:', p, p.is_alive())
print('Código de salida del proceso:', p.exitcode)