многопоточность - результат печати процесса, который завершается раньше - PullRequest
0 голосов
/ 22 сентября 2018

Я новичок здесь и пытаюсь автоматизировать небольшой процесс.Я пытаюсь создать инструмент, который проверяет домен с помощью whois lookup и nikto, я использую многопроцессорную обработку, но обе они одновременно выводят результаты печати.Есть ли способ, чтобы оба процесса выполнялись параллельно, но завершившийся процесс сначала печатает результаты сначала, а затем другой процесс.Я имею в виду, что до тех пор, пока whoislookup не завершится, nikto будет работать в фоновом режиме, но ничего не печатать.

Вот код:

#!/usr/bin/env python3
import threading
import os 
hi=input("Hello! Please input the URL\n")
def whois():
    neat = hi.replace("https://www.", "")
    print(neat)
    final = 'whois ' + neat
    print(final)
    os.system(final)

def nikto():
    neat = hi.replace("https://", "")
    comm = 'nikto -h ' + neat
    os.system(comm)

if __name__ == "__main__":
    threading.Thread(target = whois).start()
    threading.Thread(target = nikto).start()

Спасибо за помощь!

Редактировать: я знаю, что это связано с отключением буфера вывода, как я не могу понять, как?

...