import os import random import multiprocessing as mp def make_4_numbers(): a = random.randint a1, a2, a3, a4 = \ a(0, 255), a(0, 255), a(0, 255), a(0, 255) return '%s.%s.%s.%s' % (a1, a2, a3, a4) def make_nc_result(ip, port, counter): os.popen('nc -w 0 -v %s %s > %s' % (ip, port, counter)) return open(counter).read() def f(i): return make_nc_result(make_4_numbers(), 22, i) result = [] pool = mp.Pool(processes=50) for i in range(100): pre_res = pool.apply_async(f, (str(i),)) rr = pre_res.get(timeout=1) result.append(rr) import pdb pdb.set_trace() print(result[0])
Хочу получать вывод netcat штуки, в linux.
Она мгновенно выдает либо none(если судить по пустому output, когда данную команду забиваешь в консоли:
$ nc -w 0 -v ip port), или же строку(иногда - две), с результатом. Подскажите, как это захватить в переменные?