LINUX.ORG.RU

Поставить на паузу nmap/masscan запущенные в python скрипте?

 


0

2

Добрый день, Есть скрипт Python3 в котором используется библиотека HUG реализующая REST API, по post запросу в скрипте запускаются поочередно masscan и nmap после отдают свой результат клиенту, использую функцию os.system() все работает отлично, но стала задача поставить на паузу процесс(nmap/masscan) который уже выполняется. Например если masscan или nmap уже в процессе работы то нужно сохранить результат их работы и дальше начать с того же места, знаю что у обеих есть опция --resume и они умеют это делать, но как заставить их остановится и сохранить результат своей работы? Насколько я понимаю python-у требуется отправить CTR + Z, т.е

Вопрос : Есть какой то простой способ в Python сделать snapshot всего происходящего? И дальше при необходимости восстановить работу скрипта с него(как в виртуалках)? Какое самое простое решение для данной задачи?

ребуется отправить CTR + Z

import signal

def handler(signum, frame):
    print 'Ctrl+Z pressed, but ignored'

signal.signal(signal.SIGTSTP, handler)

while True:
   pass 

Но у тебя неправильный подход к задаче: не нужно ничего останавливать, снапшотить и т п ...

Какое самое простое решение для данной задачи?

Например http://python-rq.org/

Jopich1
()
Последнее исправление: Jopich1 (всего исправлений: 4)
Ответ на: комментарий от Jopich1

Спасибо,

1.Если я буду использовать Redis Queue он сможет ставить на паузу текущий запрос который выполняется у меня в скрипте полностью прозрачно для меня даже если в нем используются сторонние программы?

2.Если текущий запрос стоит на паузе, следующий запрос который придет будет выполнен?

3.На паузу ставится не весь скрипт а именно запрос который обрабатывался на данный момент времени?

TesterTester
() автор топика
Ответ на: комментарий от TesterTester

1) Redis Queue запустит задачу и даст тебе id процесса, которому ты можешь подать сигнал на паузу

2) зависит от настроек Queue

3) я-я, натюрлих

Jopich1
()
16 марта 2019 г.
Ответ на: комментарий от Jopich1

Что то у меня так и не выходит поставить nmap на паузу,

nmap -Pn 127.0.0.1 -oX res.xml

затем CTR+C и

nmap --resume res.xml

Возобновления не происходит, выполнение начинается с самого начала.

TesterTester
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.