Python名称节点脚本

Python名称节点脚本,python,hadoop,Python,Hadoop,嗨,我需要编写一个python脚本,以便能够在linux上监视特定进程。更具体地说,我希望能够监视Namenode进程是否正在运行,并且如果进程停止,我希望能够获得某种消息。我在论坛上看到了类似的东西,这是我应该写的东西吗?为什么我会出现这个错误 >>> if 'namenode' not in subprocess.Popen('tasklist',stdout=subprocess.PIPE).communicate(

嗨,我需要编写一个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
>>如果'namenode'不在subprocess.Popen('tasklist',stdout=subprocess.PIPE)中。通信([0]:
…subprocess.Popen('namenode')
文件“”,第2行
subprocess.Popen('namenode')
^
缩进错误:应为缩进块

您可以使用类似的方法。您可以监视这样的过程

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')

谢谢你的回答,我会尝试一下,让你知道它是怎么回事。再次感谢CJ.-1因为你粘贴在这里的代码格式不正确,请尝试学习一些python语法基础。这些代码不是我写的,但是的,我是python的初学者,学习它是我的目标。