python/psutil/examples/killall.py
author Benoit Jacob <bjacob@mozilla.com>
Tue, 08 Jul 2014 17:23:17 -0400
changeset 206789 e5f8bd650ef1a7a0bfbee817a5e434b9fc5c62a0
parent 152105 037e6a08032fd65347687619ec6de9a02fe00f21
permissions -rwxr-xr-x
Bug 1035394 - Fix dangerous public destructors in dom - r=ehsan

#!/usr/bin/env python

# Copyright (c) 2009, 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())