GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Por qué puedo ver la salida de los procesos en segundo plano?

Por ejemplo, cuando escribo ping 8.8.8.8 & , ¿por qué podemos ver el proceso de ping funcionando? Y cuando escribo find / -name '*test*' & , también se ve en el monitor.

¿Porqué es eso? ¿No está realmente en segundo plano?

Mejor respuesta

El & indica al shell que ejecute el comando en segundo plano, es decir, se bifurca y se ejecuta en un sub-shell separado, como un trabajo, de forma asíncrona.

Tenga en cuenta que cuando coloca & la salida:tanto stdout como stderr – seguirá estando impreso en la pantalla . Si no desea ver ningún resultado en la pantalla, redirija ambos stdout y stderr a un archivo por:

myscript > ~/myscript.log 2>&1 &

Por lo general, es posible que desee descartar el stderr redirigiéndolo a /dev/null si no le preocupa analizar los errores más adelante.

Incluso puede ejecutar comandos/scripts al mismo tiempo, en subcapas separadas. Por ejemplo;

./script1 & ./script2 & ./script3 & 

Un trabajo en segundo plano se puede devolver a la línea de comandos antes de que finalice con el comando:

fg <job-number>

El job-number se puede obtener ejecutando

jobs

Ubuntu
  1. ¿Por qué Grep -o -w no me da la salida esperada en Mac Os X?

  2. ¿Adónde van los códigos de escape ANSI cuando conecto la tubería a otro proceso? ¿Puedo mantenerlos?

  3. ¿No puedo ver el botón Siguiente (instalación de ubuntu en Vmware)?

  4. ¿Por qué salta el cursor al escribir?

  5. ¿Cómo puedo ver la salida de dmesg a medida que cambia?

Cómo enviar procesos a segundo plano en Linux

Ejecute procesos en segundo plano en Linux usando el comando Pantalla

¿Por qué el fondo del escritorio es negro después de la actualización a 13.04?

¿Por qué Shotwell tiene las posiciones X e Y invertidas cuando se usa Recortar?

¿Cómo puedo ver la actividad de mi cuenta de hosting?

Cómo enviar procesos a segundo plano en Linux