-
Notifications
You must be signed in to change notification settings - Fork 0
/
practicopsutil.py
153 lines (147 loc) · 3.68 KB
/
practicopsutil.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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
import os
import psutil
def menu():
print ("Seleccione una opcion")
print("1-Listar los PIDs actuales")
print("2-Mostrar el nombre de un proceso, seleccionando el PID")
print("3-Mostrar la ruta de dicho proceso")
print("4-Mostrar los parametros de consola")
print("5-Mostrar el PID del proceso seleccionado")
print("6-Mostrar el PID del proceso padre")
print("7-Mostrar información del proceso padre")
print("8-Mostrar información de los procesos hijos")
print("9-Mostrar el estado del proceso")
print("10-Mostrar el usuario que está ejecutando el proceso")
print("11-Mostrar los archivos abiertos por el proceso")
print("12-Terminar el proceso")
print("13-Cantidad de CPUs (reales y lógicas)")
print("14-Lista de particiones del sistema")
print("15-Espacio usado por la partición raíz ( / )")
print("16-Información de las interfaces de red")
print("17-Salir")
opcion = input ("Opcion seleccionada: ")
return opcion
def select_PID():
try:
pid = input("Seleccione el PID ")
return pid
except SyntaxError:
pass
def press_key():
try:
input("Press enter to continue")
except SyntaxError:
pass
selected_pid = 0
while True:
os.system("clear")
if (selected_pid == 0):
print ("No se ha seleccionado ningun proceso")
else:
print ("Proceso seleccionado:")
print (selected_pid)
opcion = menu()
if (opcion == "1"):
print (psutil.pids())
press_key()
elif (opcion == "2"):
selected_pid = select_PID()
print ("PID seleccionado: ")
print (selected_pid)
p = psutil.Process(int(selected_pid))
print ("Nombre:")
print (p.name())
press_key()
elif (opcion == "3"):
if (selected_pid != 0):
print ("Ruta:")
print (p.exe())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "4"):
if (selected_pid != 0):
print ("Ruta:")
print (p.cwd())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "5"):
if (selected_pid != 0):
print ("PID:")
print (p.pid)
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "6"):
if (selected_pid != 0):
print ("PID del proceso padre:")
print (p.ppid())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "7"):
if (selected_pid != 0):
print ("Info del proceso padre:")
print (p.parent())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "8"):
if (selected_pid != 0):
print ("Procesos hijos:")
print (p.children())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "9"):
if (selected_pid != 0):
print ("Estado del proceso:")
print (p.status())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "10"):
if (selected_pid != 0):
print ("Usuario:")
print (p.username())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "11"):
if (selected_pid != 0):
print ("Archivos en uso:")
print (p.open_files())
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "12"):
if (selected_pid != 0):
print ("Terminando el proceso...")
p.terminate()
else:
print ("no hay PID seleccionado")
press_key()
elif (opcion == "13"):
print ("CPUs logicas:")
print (psutil.cpu_count())
print ("CPUs fisicas:")
print (psutil.cpu_count(logical=False))
press_key()
elif (opcion == "14"):
print ("Particiones del sistema:")
print(psutil.disk_partitions())
press_key()
elif (opcion == "15"):
print ("Espacio usado por la particion raiz:")
print(psutil.disk_usage('/'))
press_key()
elif (opcion == "16"):
print ("Info de las interfaces de red:")
print (psutil.net_if_addrs())
press_key()
elif (opcion == "17"):
exit()
else:
print ("Opcion no valida")
press_key()