summaryrefslogtreecommitdiffstats
path: root/third_party/psutil/examples/killall.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/psutil/examples/killall.py')
-rw-r--r--third_party/psutil/examples/killall.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/third_party/psutil/examples/killall.py b/third_party/psutil/examples/killall.py
new file mode 100644
index 0000000..5381b54
--- /dev/null
+++ b/third_party/psutil/examples/killall.py
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+#
+# $Id: killall.py 1143 2011-10-05 19:11:59Z g.rodola $
+#
+# Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""
+Kill a process by name.
+"""
+
+import os
+import sys
+import psutil
+
+def main():
+ if len(sys.argv) != 2:
+ sys.exit('usage: %s name' % __file__)
+ else:
+ NAME = sys.argv[1]
+
+ killed = []
+ for proc in psutil.process_iter():
+ if proc.name == NAME and proc.pid != os.getpid():
+ proc.kill()
+ killed.append(proc.pid)
+ if not killed:
+ sys.exit('%s: no process found' % NAME)
+ else:
+ sys.exit(0)
+
+sys.exit(main())