File tree 1 file changed +37
-0
lines changed
Roadmap/15 - ASINCRONÍA/bash 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
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
You can’t perform that action at this time.
0 commit comments