Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | #!/usr/bin/env python |
michael@0 | 2 | |
michael@0 | 3 | # Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. |
michael@0 | 4 | # Use of this source code is governed by a BSD-style license that can be |
michael@0 | 5 | # found in the LICENSE file. |
michael@0 | 6 | |
michael@0 | 7 | """ |
michael@0 | 8 | Kill a process by name. |
michael@0 | 9 | """ |
michael@0 | 10 | |
michael@0 | 11 | import os |
michael@0 | 12 | import sys |
michael@0 | 13 | import psutil |
michael@0 | 14 | |
michael@0 | 15 | def main(): |
michael@0 | 16 | if len(sys.argv) != 2: |
michael@0 | 17 | sys.exit('usage: %s name' % __file__) |
michael@0 | 18 | else: |
michael@0 | 19 | NAME = sys.argv[1] |
michael@0 | 20 | |
michael@0 | 21 | killed = [] |
michael@0 | 22 | for proc in psutil.process_iter(): |
michael@0 | 23 | if proc.name == NAME and proc.pid != os.getpid(): |
michael@0 | 24 | proc.kill() |
michael@0 | 25 | killed.append(proc.pid) |
michael@0 | 26 | if not killed: |
michael@0 | 27 | sys.exit('%s: no process found' % NAME) |
michael@0 | 28 | else: |
michael@0 | 29 | sys.exit(0) |
michael@0 | 30 | |
michael@0 | 31 | sys.exit(main()) |