summaryrefslogtreecommitdiff
path: root/scripts/pidof.py
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2017-04-26 21:30:59 +0200
committerGiampaolo Rodola <g.rodola@gmail.com>2017-04-26 21:30:59 +0200
commit888eebfd4fecfaf936838a2055496485e2af8b65 (patch)
tree2769b30da7c960cae46e79b3584cce03e7eaa1f3 /scripts/pidof.py
parentbde13c410bd0e266d49ad1e24ae3b78dba571e29 (diff)
downloadpsutil-888eebfd4fecfaf936838a2055496485e2af8b65.tar.gz
#1025: take advantage of process_iter(attrs) in scripts
Diffstat (limited to 'scripts/pidof.py')
-rwxr-xr-xscripts/pidof.py25
1 files changed, 5 insertions, 20 deletions
diff --git a/scripts/pidof.py b/scripts/pidof.py
index 1c23900f..bcb8a2e6 100755
--- a/scripts/pidof.py
+++ b/scripts/pidof.py
@@ -18,26 +18,11 @@ import sys
def pidof(pgname):
pids = []
- for proc in psutil.process_iter():
- with proc.oneshot():
- # search for matches in the process name and cmdline
- try:
- name = proc.name()
- except psutil.Error:
- pass
- else:
- if name == pgname:
- pids.append(str(proc.pid))
- continue
-
- try:
- cmdline = proc.cmdline()
- except psutil.Error:
- pass
- else:
- if cmdline and cmdline[0] == pgname:
- pids.append(str(proc.pid))
-
+ for proc in psutil.process_iter(attrs=['name', 'cmdline']):
+ # search for matches in the process name and cmdline
+ if proc.info['name'] == pgname or \
+ proc.info['cmdline'] and proc.info['cmdline'][0] == pgname:
+ pids.append(str(proc.pid))
return pids