-
Notifications
You must be signed in to change notification settings - Fork 0
/
test.sh
44 lines (30 loc) · 1.47 KB
/
test.sh
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
#!/bin/bash
# Este código se ejecuta en un bucle infinito,
# pero debido a que se quiere que funcione
# dentro del applet CommandRunner, no es adecuado
# para nuestro propósito actual. En su lugar, este código
# es una versión destinada a ejecutarse en la terminal.
INTERFACE="wlp4s0" # Cambiar a la interfaz de red que se desea monitorear
echo "Interfaz: $INTERFACE"
echo -e "Tiempo\t\tRecibido (KB/s)\tEnviado (KB/s)"
# Capturar los datos iniciales de enviados y recibidos
old_received=$(grep "$INTERFACE" /proc/net/dev | awk '{print $2}')
old_transmitted=$(grep "$INTERFACE" /proc/net/dev | awk '{print $10}')
while true; do
sleep 1 # Esperar 1 segundo
new_received=$(grep "$INTERFACE" /proc/net/dev | awk '{print $2}')
new_transmitted=$(grep "$INTERFACE" /proc/net/dev | awk '{print $10}')
received_kbps=$(( (new_received - old_received) / 1024 ))
transmitted_kbps=$(( (new_transmitted - old_transmitted) / 1024 ))
# Si los valores alcanzan mas de 1024 KB/s los convierte a MB/s
if [ "$received_kbps" -gt 1024 ] || [ "$transmitted_kbps" -gt 1024 ]; then
received_mbps=$(( received_kbps / 1024 ))
transmitted_mbps=$(( transmitted_kbps / 1024 ))
echo -e "▼${received_mbps} MB/s | ▲${transmitted_mbps} MB/s"
else
echo -e "▼${received_kbps} KB/s | ▲${transmitted_kbps} KB/s"
fi
# Actualizar los valores anteriores
old_received=$new_received
old_transmitted=$new_transmitted
done