import signal
from multiprocessing import Process, Value
from time import sleep
breaker = Value('b', True)
def chill_for_a_while(period, breaker):
  while(breaker.value):
    sleep(period)
  print "Client of period {} exiting now.".format(period)
def sig_int_handler(sig, frame):
  global breaker
  breaker.value = False
if __name__ == "__main__":
  signal.signal(signal.SIGINT, sig_int_handler)
  processes = [Process(target=chill_for_a_while, args=[x, breaker]) for x in range(5)]
  for process in processes:
    process.start()
  while(breaker.value):
    sleep(1)
  print "Main process exiting now."