Bug 1196253 - update in-tree psutil to 3.1.1. r=gps
This commit is contained in:
53
python/psutil/examples/pidof.py
Executable file
53
python/psutil/examples/pidof.py
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Copyright (c) 2009, Giampaolo Rodola', karthikrev. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
|
||||
"""
|
||||
A clone of 'pidof' cmdline utility.
|
||||
$ pidof python
|
||||
1140 1138 1136 1134 1133 1129 1127 1125 1121 1120 1119
|
||||
"""
|
||||
|
||||
from __future__ import print_function
|
||||
import psutil
|
||||
import sys
|
||||
|
||||
|
||||
def pidof(pgname):
|
||||
pids = []
|
||||
for proc in psutil.process_iter():
|
||||
# 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))
|
||||
|
||||
return pids
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) != 2:
|
||||
sys.exit('usage: %s pgname' % __file__)
|
||||
else:
|
||||
pgname = sys.argv[1]
|
||||
pids = pidof(pgname)
|
||||
if pids:
|
||||
print(" ".join(pids))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user