n = os.fork() if n == 0 and pp: print("[+] Daemonized with PID", os.getpid()) elif pp: print("[+] Success") if n == 0: # pymongo is fork-unsafe mongoClient = pymongo.MongoClient("mongodb://localhost:27017/") db = mongoClient[DB_NAME] campaignCollection = db[COLLECTION_NAME] campaign = Campaign(db, campaignCollection) recipients = cp["followers"] for r in recipients: if not campaign.is_started(cp["id"]): exit(0) if r["sent"] == False: user = chakraInstance.get_user_json(r["id"]) chakraInstance.send_dm(user["id"], interpolate(cp["message"], user)) campaign.mark_sent(arguments.id, user["id"]) campaign.stop_campaign(cp["id"]) elif command == "status": # status command status = campaign.get_status(arguments.id) if not pp: print(json.dumps(status))