Форум сайта python.su
0
Добрый день
Я новичек в питоне. Мне нужно написать скрипт, Удаляющий процесс на удаленной машине(ах).
Есть скрипт, при его вызове, если все хорошо он возвращает слово pong, плохо, возвращает Node not responding to pings.
Я написал скрипт
from fabric.api import * from StringIO import StringIO env.user = 'sybase' def check(): output=run('cd /opt/data/rtc_mod_purse/bin/ && ./rtc_mod_purse ping') if "output" == 'pong': print(' [OK]') else: #run("ps aux | grep epmd") print('d')
fab -H 10.61.128.30 checkПочему если pong не возвращается, то ничего не работает, почему?
Executing task ‘check’
run: cd /opt/data/rtc_mod_purse/bin/ && ./rtc_mod_purse ping
out: Node ‘rtc_mod_purse@10.61.128.30’ not responding to pings.
out:
Fatal error: run() received nonzero return code 1 while executing!
Requested: cd /opt/data/rtc_mod_purse/bin/ && ./rtc_mod_purse ping
Executed: /bin/bash -l -c “cd /opt/data/rtc_mod_purse/bin/ && ./rtc_mod_purse ping”
Aborting.
Disconnecting from 10.61.128.30… done.
Офлайн
568
Видимо, вызов функции run('cd /opt/data/rtc_mod_purse/bin/ && ./rtc_mod_purse ping') вызывает исключение. Вам нужно перехватить исключение с помощью конструкции try..except и обработать эту ситуации в зависимости от логики вашей программы.
Офлайн
0
Спасибо, то что надо.
Офлайн