Code: Alles auswählen
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Copyright (c) 2008 Jens Kadenbach <j.kadenbach@gmx.de>
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
from __future__ import with_statement
import os
import signal
from os import path
PROC = path.join('/', 'proc')
def get_processes():
for d in os.listdir(PROC):
process = path.join(PROC, d)
try:
data = {}
with open(path.join(process, 'status'), 'r') as status:
for line in status:
name, value = line.split(':')
data[name.lower()] = value.strip()
with open(path.join(process, 'cmdline'), 'r') as cmdline:
data['cmdline'] = cmdline.read().replace('\0', ' ').strip()
yield data
except IOError:
pass
def killall(name):
for process in get_processes():
if name in process.values():
os.kill(int(process['pid']), signal.SIGTERM)
if __name__ == '__main__':
killall(raw_input("Prozesse mit folgendem Namen killen: "))