Python NameNode脚本

时间:2013-12-27 15:03:53

标签: python hadoop

您好我需要编写一个python脚本才能监视linux上的特定进程。更具体一点,我希望能够监视Namenode进程是否正在运行,并且我希望能够获得某种消息,如果进程发生故障。我在论坛上看到这样的东西,这是我应该写的东西,为什么我会收到这个错误?

>>> if 'namenode' not in          subprocess.Popen('tasklist',stdout=subprocess.PIPE).communicate(                                   [0]:
    ... subprocess.Popen('namenode')
    File "<stdin>", line 2
    subprocess.Popen('namenode')
             ^
    IndentationError: expected an indented block

1 个答案:

答案 0 :(得分:0)

您可以使用psutil之类的内容。您可以监控这样的流程。

import psutil 

proc = None

for p in psutil.process_iter():
    if p.name == 'namenode':
        proc = p
        break

if proc is None:
    print("Can't find namenode")
else:
    proc.wait()

print('Namenode not running')