Скрыть в исполняемом файле подпроцессы
я написал скрипт для пинга множества хостов. Собрал в исполняемый файл с помощью pyinstaller. Есть два вопроса:
Как мне сделать так, чтобы в диспетчере задач не выводилось большое количество подпроцессов, их можно как нибудь скрыть?
Приложение грузит процессор до 100%, создавая примерно 100-150 потоков. В какую сторону идти, чтобы улучшить производительность?
Код:
def getping(host, result, i):
completed_ping = subprocess.run(['ping', '-n', '2', host[i]], stdout=subprocess.PIPE)
tosplit = completed_ping.stdout.decode('cp866')
result[i] = tosplit.split('\r\n')[1] + '\t' + tosplit.split('\r\n')[2]
def openthread():
"""
создаются потоки, передаются в функцию пинга хост, результат и порядковый номер
"""
threads = []
for i in range(len(host)):
tread = threading.Thread(target=getping, args=(host, result, i), daemon=True)
threads.append(tread)
for thread in threads:
thread.start()
for thread in threads:
thread.join() # Ждем завершения всех потоков
