-
Notifications
You must be signed in to change notification settings - Fork 0
/
killer.py
executable file
·62 lines (55 loc) · 1.5 KB
/
killer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/usr/bin/python
#-*- coding:utf8 -*-
#Giacomo Mirabassi <[email protected]>
#GNU/GPL (http://www.gnu.org)
#ver. 1.1
#Impedisce l'accesso non autorizzato ai programmi
#uso: ./killer.py argomenti
#argomenti=nome del programma da terminare o un gruppo tra questi:
#web, utils, games, default(tutti)
#È possibile specificare anche un utente insieme al processo indicandolo così: processo,utente
import subprocess
import time
import sys
import string
#applications by type
games="gcompris","gnomines","same-gnome","ktuberling","gnibbles","gnometris","sol","iagno","glchess"
web="firefox","firefox-bin"
utils="gnome-appearance-properties","gedit"
argv=sys.argv[1:]
if len(argv)>0:
killzone=[]
for arg in argv:
if arg=="default":
killzone.extend(games).extend(web).extend(utils)
elif arg=="web":
killzone.extend(web)
elif arg=="utils":
killzone.extend(utils)
elif arg=="games":
killzone.extend(games)
else:
killzone.append(arg)
else:
print "nessun programma o gruppo di programmi specificato"
quit()
print "premere CTRL+C per terminare il programma"
#main loop
while 1>0:
for app in killzone:
user=''
v=string.find(app,',')
if(v>=0):
user=app[v:]
user=user[1:]
app=app[0:v]
if(user!=''):
print "termino "+app+" per "+user
code=subprocess.call(["killall",app,"-9","-u"+user])
else:
print "termino "+app
code=subprocess.call(["killall",app,"-9"])
if code==0:
print "\033[31m terminato "+app+"\033[0m"
print "premere CTRL+C per terminare il programma"
time.sleep(20)