Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 24, 2012 16:33:55

fletcher
От:
Зарегистрирован: 2012-01-08
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение времени выполнения бинарника

Подскажите, как ограничить время выполнения какого либо файла, и при превышении лимита выполнить какие либо действия.



Офлайн

#2 Янв. 24, 2012 17:32:54

fletcher
От:
Зарегистрирован: 2012-01-08
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение времени выполнения бинарника

Нашел тоже самое на пхп,
http://vk.com/away.php?to=http%3A%2F%2Fhabrahabr.ru%2Fblogs%2Fphp%2F66160%2F&h=b9303eeff5e2f7f3a9
мб поможете переписать на питон



Офлайн

#3 Янв. 24, 2012 18:13:30

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Ограничение времени выполнения бинарника

Вот так попробуйте:

import signal
import time
import subprocess

def set_handler(process, timeout):
def handler(signum, frame):
print "Handler is called at %s" % time.strftime("%H:%M:%S")
process.terminate()
print 'Terminated process %d' % process.pid
signal.signal(signal.SIGALRM, handler)
signal.alarm(timeout)

print 'Started at %s' % time.strftime("%H:%M:%S")
proc = subprocess.Popen(['/bin/sleep', '100'])

set_handler(proc, 5)

proc.wait()

print 'Finished at %s' % time.strftime("%H:%M:%S")
signal.alarm(0)
PS: На php слишком много букв и под виндой не будет работать.



Отредактировано (Янв. 24, 2012 18:19:56)

Офлайн

#4 Март 15, 2012 10:30:10

fletcher
От:
Зарегистрирован: 2012-01-08
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Ограничение времени выполнения бинарника

Большое спасибо, очень помогли)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version