Как выполнить metricbeat при использовании subprocess.Popen () - PullRequest
0 голосов
/ 01 февраля 2019

Я пытаюсь выполнить metricebeat таким же образом, как я запускаю его из командной строки Windows, но с помощью subprocess.Popen в скрипте Python.

   subprocess.Popen(["C:\metricbeat\metricbeat.exe"])

Процесс начинается и завершается немедленно, хотя явыполнять другие процессы с той же реализацией, и они работают и не завершаются.

    self.process.poll()
        if self.process.returncode is not None:
            self.Shutdown()

это мое условие завершения, и это всегда верно, поэтому оно завершается.

Есть ли способвыполнить metricebeat в качестве фонового процесса?Или какие идеи я мог бы попробовать

1 Ответ

0 голосов
/ 06 февраля 2019

вы должны использовать:

os.popen("Powershell.exe", 'C:\metricbeat\metricbeat -e -c C:\metricbeat\metricbeat.yml', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = p.communicate()
...