Трябва да поставите целия код, който използва мултипроцесиране, в неговата собствена функция. Това спира рекурсивното стартиране на нови пулове, когато мултипроцесорът повторно импортира вашия модул в отделни процеси:
def parse_file(filename):
...
def main():
pool = mp.Pool(processes=8)
pool.map(parse_file, ['my_dir/' + filename for filename in os.listdir("my_dir")])
if __name__ == '__main__:
main()
Вижте документацията относно уверете се, че вашият модул е импортируеми , също и съвет за работа под Windows(tm)