Skip to content

Commit 7432296

Browse files
committed
#15 - Bash
1 parent 54a9ddd commit 7432296

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/bash
2+
3+
# Función genérica que ejecuta tareas asincrónicamente con nombre y duración
4+
function run_task() {
5+
local name="$1"
6+
local duration="$2"
7+
8+
if [[ -z "$name" || -z "$duration" ]]; then
9+
echo -e "[!] Error: Debes proporcionar un nombre y una duración para la tarea.\n"
10+
return 1
11+
fi
12+
13+
echo -e "[+] La tarea '$name' comienza a ejecutarse y durará ${duration} segundos...\n"
14+
sleep "$duration"
15+
echo -e "[!] La tarea '$name' ha finalizado.\n"
16+
}
17+
18+
# Función principal para ejecutar las tareas en el orden especificado
19+
function main() {
20+
echo -e "[+] Ejecutando las tareas en paralelo...\n"
21+
22+
# Ejecutar tareas C, B y A en paralelo
23+
run_task "Tarea C" 3 &
24+
run_task "Tarea B" 2 &
25+
run_task "Tarea A" 1 &
26+
27+
# Esperar a que todas las tareas en paralelo finalicen
28+
wait
29+
30+
echo -e "[+] Todas las tareas C, B y A han terminado. Iniciando la tarea D...\n"
31+
32+
# Ejecutar la tarea D después de que las demás terminen
33+
run_task "Tarea D" 1
34+
}
35+
36+
# Ejecutar la función principal
37+
main

0 commit comments

Comments
 (0)