У меня есть этот скрипт, который запускается nagios, который проверяет API провайдера, если включено смягчение, и отчитывается.Я просто скопировал пример из Nagios, у меня нет никаких знаний Python.Проблема в том, что иногда сценариям требуется 10 секунд для запуска, а python просто продолжается, поэтому мне нужно, чтобы он дождался исполнения.
Я нашел несколько примеров использования подпроцесса, которые были успешными, но я не знаю, как добавить.readline и .strip к команде.
Это оригинальный скрипт:
#!/usr/bin/python
import os, sys
mitigation_enabled=os.popen("/usr/local/nagios/libexec/check_mitigation.py
| grep auto | awk '{print $2}'").readline().strip()
if mitigation_enabled == "false":
print "OK - Mitigation disabled." .format (mitigation_enabled)
sys.exit(0)
elif mitigation_enabled == "true":
print "WARNING - Mitigation enabled." .format (mitigation_enabled)
sys.exit(1)
else:
print "UKNOWN - mitigation status unknown." .format (mitigation_enabled)
sys.exit(2)
Так как мне сделать это с подпроцессом, дождаться выполнения внешнего скрипта и добавитьзначения .readline и .strip?
Короткий вопрос, как заставить это работать:)
Спасибо!