您好我需要编写一个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
答案 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')