def createProcesses(): from logging import basicConfig, info, INFO from config.config_parser import ConfigParser from multiprocessing import Process from os import waitpid import socket procs = [] config = ConfigParser.parse() basicConfig(level=INFO) info('\nhost: {}\nport: {}\nthreads: {}\ncpu_count: {}'.format( config.host, config.port, config.threads, config.cpu_count)) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.bind((config.host, int(config.port))) s.listen(100) try: for _ in range(0, int(config.cpu_count)): procs.append(Process(target=startProcess, args=([config, s]))) for i in procs: i.start() for i in procs: waitpid(i.pid, 0) except KeyboardInterrupt: for i in procs: i.terminate()