Как остановить процессы с библиотекой multyprocessing?

Для остановки процессов, запущенных с использованием библиотеки multiprocessing в Python, можно воспользоваться методом terminate() для объектов класса Process.

Сначала необходимо импортировать нужные модули:

import multiprocessing
import time

Затем необходимо определить функцию, которую процесс будет выполнять:

def worker():
    print("Процесс запущен")
    time.sleep(10)
    print("Процесс завершен")

Далее создадим новый процесс, используя класс Process из модуля multiprocessing:

if __name__ == '__main__':
    p = multiprocessing.Process(target=worker)

Запускаем процесс:

p.start()

Если необходимо остановить процесс вручную, можно вызвать метод terminate():

p.terminate()

Метод terminate() немедленно прекращает выполнение процесса, без выполнения завершающей последовательности операций (например, выхода из блока try-finally).

Например, можно создать список процессов и запустить их параллельно:

if __name__ == '__main__':
    processes = []

    for _ in range(5):
        p = multiprocessing.Process(target=worker)
        processes.append(p)
        p.start()

    time.sleep(3)

    for p in processes:
        p.terminate()

В данном случае создается 5 процессов, и после задержки в 3 секунды все они будут остановлены с помощью метода terminate().