Cargando

Ir a contenido


 


Linux ejecutar procesos en segundo plano

En este tutorial enseñaremos como ejecutar procesos en segundo plano con ejemplos prácticos.


Escrito por el oct 22 2013 08:26 Linux procesos segundo plano procesos


En linux podemos ejecutar procesos en primer plano (foreground) o bien en segundo plano (background).

Un programa en foreground cuando se ejecuta en la terminal, no podremos ejecutar ningún otro comando hasta que termine el proceso, pero puede hacerse desde background o segundo plano.

Un programa que se ejecuta en background una vez iniciado, no utiliza la terminal desde que se ejecuto hasta que termina. Para ejecutar un software o comando en segundo plano desde la terminal añadimos Si añadimos un ampersand (&) al final del comando o del script que queremos ejecutar, éste sera ejecutado en segundo plano por el sistema operativo.

Ejemplo:
nano &


Con el comando el comando ps, podemos conocer el estado de un proceso ps es process status o estado del proceso .

El comando ps, no da un listado de los procesos y especifica algunas columna PID, TTY, TIME, y CMD.

PID (Numero del Proceso): Cada proceso obtiene un numero de identificación único, que es asignado por el kernel de Linux.
TTY: es el terminal asociado con el proceso, también puede ser otro dispositivo de entrada.
TIME: El tiempo que el proceso ha estado en ejecución..
CMD: Es el nombre del comando que esta siendo ejecutado, bash es el proceso del shell.
Con el comando ps -A nos mostrara todos los procesos ejecutándose.


Algunos programas necesitan mucho tiempo para terminar, y no hacen nada importante mientras tanto. Compilar programas es una de estas tareas, así como comprimir un fichero grande. No tiene sentido dejar de utilizar el ordenador mientras estos procesos terminan y consumen recursos. En estos casos es mejor ejecutarlos en segundo plano, para dejar el ordenador en condiciones de ejecutar otro programa.

Los procesos pueden ser suspendidos. Un proceso suspendido es aquel que no se está ejecutando actualmente, sino que esta temporalmente detenido. Después de suspender una tarea, puede indicar a la misma que continúe, en primer plano o en segundo, según necesite. Retomar una tarea suspendida no cambia en nada el estado de la misma la tarea continuará ejecutándose justo donde se se detuvo.

Para interrumpir un proceso se utiliza ctrl+c, al pulsar esta combinación el proceso muere y se liberan todos los recursos.

Vamos a probar enviar un comando repetitivo a segundo plano. El comando yes se utiliza para probar script que requiere muchas confirmaciones lo que hace es repetir “y” con lo que se escriba delante infinitamente hasta que se detenga el script o el usuario lo detenga

Si escribimos yes en la terminal y veremos una lista interminable de y
Si escribimos yes hola en la terminal y veremos una lista interminable de hola
Para eliminar un archivo sin pulsar ninguna tecla cuando pida confirmación podemos utilizar
yes | rm -i *.txt

Para enviar un proceso a segundo plano lo llamamos desde la linea de comandos seguido de & creamos infinitos dispositivos nulos
yes > /dev/null &

Esto nos mostrara el numero de tarea y el pid [1] 4106

Si utilizamos ahora el comando jobs veremos
[1]+  Ejecutando 			 yes > /dev/null &


para pasarlo a primer plano escribimos fg 1 y para matar el proceso kill 4106 que es el pid.
¿Te ha gustado y ayudado este Tutorial?
Puedes premiar al autor pulsando este botón para darle un punto positivo
  • -
  • 0
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado oct 22 2013 08:26
  •   Visitas 7.7K
  •   Nivel
    Avanzado



Tutoriales Relacionados


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
Demuestra que eres experto!
  ESCRIBIR TUTORIAL
Suscribirse