En Linux los procesos se ejecutan de dos formas, en underground o en background, la primera forma indica que es el proceso que se ejecuta normalmente y que tu puedes visualizar ejecutándose en la consola o en la panatalla, el segundo es cuando un proceso se ejecuta internamente pero que ni se visualiza o que el administrador lo envia a ejecturse sin ser visto.
Obviamente y como todo en Linux nosotros podemos no solo determinar que procesos tenemos ejecutándose underground sino en background también además de poder decidir cambiar el método de ejecución cuando deseemos, inicialmente vamos a ver como se pasa un proceso a background.
Este se hace cuando necesitas dejar por ejemplo una sincronización entre dos maquinas, este proceso puede ser tedioso verlo o no te permitiria apagar tu mauqiuna si tu lo estas enviando remoto, entonces hay dos formas la primera es escribir el comando en consola y colocarle al final el simbolo de ampersan &, que es algo así
root@localhost:~# for i in $(ls /direc);do rm -rf $i ; done &
Este comando borara uno a uno el contenido de direc (que puede ser larguisimo y no nos permite borrarlo directamente) haciendolo en background, y así puedes seguir trabajando en la consola sin problemas. El segundo método es cuando lo tienes que enviar y ya decides pasarlo a background, para esto se realiza en dos sencillos pasos, el primero es que cuando estes ejecuntando el comando le das la combinaciń de teclas Ctrl+Z, una vez se vea el simbolo del bash escribes bg y listo el comando ha pasado a background, gráficamente se ve algo como esto
root@localhost:~# for i in $(ls /direc);do rm -rf $i ; done
rm -rf /direc/prueba1
[1]+Stopped for i in $(ls /direc);do rm -rf $i ; done <--- Momento en que se da Ctrl+Z
root@localhost:~# bg
root@localhost:~#
Ahora una cosa muy útil es saber que rocesos tienes en background, pra esto en Linux existe un comado llamado jobs que nos muestra la lista de procesos que estan ejecutándose o detenidos en background, visualmente es de la siguiente forma
root@localhost:~# jobs
[1]+Running for i in $(ls /direc);do rm -rf $i ; done
[2]+Stopped rsync -pavz -progress /direc ns.destino.com:/root
Como ven en el ejemplo existen dos procesos uno en ejecudion y el otro detenido, si desean eliminar alguno de los dos es simplemente dar el siguiente comando
root@localhost:~# kill %2
En este caso 2 por que es el identificador del que deseo eliminar
Obviamente y como todo en Linux nosotros podemos no solo determinar que procesos tenemos ejecutándose underground sino en background también además de poder decidir cambiar el método de ejecución cuando deseemos, inicialmente vamos a ver como se pasa un proceso a background.
Este se hace cuando necesitas dejar por ejemplo una sincronización entre dos maquinas, este proceso puede ser tedioso verlo o no te permitiria apagar tu mauqiuna si tu lo estas enviando remoto, entonces hay dos formas la primera es escribir el comando en consola y colocarle al final el simbolo de ampersan &, que es algo así
root@localhost:~# for i in $(ls /direc);do rm -rf $i ; done &
Este comando borara uno a uno el contenido de direc (que puede ser larguisimo y no nos permite borrarlo directamente) haciendolo en background, y así puedes seguir trabajando en la consola sin problemas. El segundo método es cuando lo tienes que enviar y ya decides pasarlo a background, para esto se realiza en dos sencillos pasos, el primero es que cuando estes ejecuntando el comando le das la combinaciń de teclas Ctrl+Z, una vez se vea el simbolo del bash escribes bg y listo el comando ha pasado a background, gráficamente se ve algo como esto
root@localhost:~# for i in $(ls /direc);do rm -rf $i ; done
rm -rf /direc/prueba1
[1]+Stopped for i in $(ls /direc);do rm -rf $i ; done <--- Momento en que se da Ctrl+Z
root@localhost:~# bg
root@localhost:~#
Ahora una cosa muy útil es saber que rocesos tienes en background, pra esto en Linux existe un comado llamado jobs que nos muestra la lista de procesos que estan ejecutándose o detenidos en background, visualmente es de la siguiente forma
root@localhost:~# jobs
[1]+Running for i in $(ls /direc);do rm -rf $i ; done
[2]+Stopped rsync -pavz -progress /direc ns.destino.com:/root
Como ven en el ejemplo existen dos procesos uno en ejecudion y el otro detenido, si desean eliminar alguno de los dos es simplemente dar el siguiente comando
root@localhost:~# kill %2
En este caso 2 por que es el identificador del que deseo eliminar
Comentarios
Publicar un comentario