Найти - Пользователи
Полная версия: Таймер выполнения pyping
Начало » Python для новичков » Таймер выполнения pyping
1 2
studdef
r00tl3ss
работает до того момента пока я не отключаю роутер)
а потом вот

Traceback (most recent call last):
File “CDocuments and Settings/adm/Рабочий стол/pytimer8.py”, line 18, in <module>
pinger(('192.168.1.1'), 20, 5)
File “CDocuments and Settings/adm/Рабочий стол/pytimer8.py”, line 12, in pinger
sleep(timeout2 * 60)
NameError: global name ‘sleep’ is not defined
>>>
r00tl3ss
Небольшой косяк… Нужно поправить.
time.sleep()
И еще во внутреннем цикле нужно строку изменить:
time.sleep(60)
Вроде все…
studdef
import pyping
import time
import subprocess
def status(destination):
    return pyping.ping(destination).ret_code
def pinger(destination, timeout1, timeout2):
    while True:
        count = 0
        while status(destination):
            if count >= timeout2:
                subprocess.call(['shutdown.exe', '/s', '/f', '/t', '10'])
            time.sleep(60) # <- так?
            count += 1
    print 'Destination ip {0} is availabel...'.format(destination)
    time.sleep(timeout1*60)
 
if __name__ == '__main__':
    pinger(('192.168.1.1'), 20, 5)
работает но не выключается комп
r00tl3ss
studdef
Ну это уже вопросы к команде shutdown.exe.
Попробуй вручную выполнить из оболочки python.exe.
>>>import subprocess
>>>subprocess.call(['shutdown.exe', '/s', '/f', '/t', '10'])
Ну еще можно сначала из cmd.exe попробовать выполнить команду.
В этом помочь не могу, у меня нет Винды.
studdef
r00tl3ss
studdefНу это уже вопросы к команде shutdown.exe.Попробуй вручную выполнить из оболочки python.exe.
Нет, все работает, все отключается. Огромнейшее спасибо !!! сам бы не за что не написал)
назову таймер, r00tl3ss )))

У меня только пару вопросов, конечно вопросов, больше буду разбираться. что значите pinger 20?
и код пингует хост на протяжение всей работы?
сетевой анализатор показывает что пинг постоянно идет
r00tl3ss
studdef
import sys
...
subprocess.call(['shutdown.exe', '/s', '/f', '/t', '10'])
sys.exit()
Нужно еще подредактировать, чтобы скрипт завершал свою работу, хотя это в общем и не обязательно, т.к. компьютер выключается.
20 - с какой периодичностью будет пинговаться, если есть ответ.
5 - каждую минуту в течении 5 минут, если ответа так и не было, выполняется выключение.
studdef
r00tl3ss
studdef
я изменил значение 20 на 1 минуту, ничего не изменилось. пинг ддосит меня)
ZerG
Может пора уже погуглить?
studdef
ZerG
Может пора уже погуглить?
по дак_дак_гоуить
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB