Поймай Ctrl + C / SIGINT и аккуратно выйди из мультипроцесса в python

Как мне перехватить Ctrl + C в многопроцессорной программе на Python и корректно завершить все процессы, мне нужно решение для работы как в Unix, так и в Windows. Я пробовал следующее:

import multiprocessing
import time
import signal
import sys

jobs = []

def worker():
    signal.signal(signal.SIGINT, signal_handler)
    while(True):
        time.sleep(1.1234)
        print "Working..."

def signal_handler(signal, frame):
    print 'You pressed Ctrl+C!'
    # for p in jobs:
    #     p.terminate()
    sys.exit(0)

if __name__ == "__main__":
    for i in range(50):
        p = multiprocessing.Process(target=worker)
        jobs.append(p)
        p.start()

И это отчасти работает, но я не думаю, что это правильное решение.

EDIT: Это может быть дубликатомэтот

Ответы на вопрос(3)

Ваш ответ на вопрос