File: //usr/lib/python2.7/site-packages/lap/ps_count.py
#!/usr/bin/python
import psutil
import time
def __run__(params):
perfdata = []
count = []
p_min = params.get('min',1)
p_max = params.get('max',p_min)
p_name = params.get('process_name')
try:
for p in psutil.get_process_list():
count.append(p.name)
except psutil.error.NoSuchProcess:
pass
count = list(count).count(p_name)
perfdata.append(("running_processes", str(count)))
if count < p_min and p_min > 0 and count <> 0:
return [ 1, 'Process(%s) running bellow %d pids' % (p_name,p_min) ]
elif count > p_max:
return [ 1, 'Process(%s) running over expecified limit %d' % (p_name,p_max) ]
elif p_min == count:
return [ 0, 'Process(%s) %d pids ' % (p_name,count) ]
else:
return [ 2, 'Process(%s) not found' % p_name ]