nohup vs pantalla


39

En el pasado, solía nohupejecutar grandes trabajos en segundo plano, pero he notado que mucha gente lo usa screenen este contexto. ¿ screenProporciona algún tipo de ventaja funcional que desconozco, o es solo una cuestión de preferencia?

Respuestas:


25

Ambos tienen sus propias ventajas y desventajas:

nohup:

  1. Nohup es bueno para usar para ejecutar procesos en segundo plano cuando los procesos no necesitan ninguna entrada del usuario, como un servidor web o cualquier otro proceso de servidor como ese.
  2. nohup crea un registro en el directorio de ejecución del proceso. El nombre del archivo de registro es nohup.out.
  3. Evita que el proceso se cancele debido a una combinación de teclas errónea Ctrl+ Co similar. Solo una salvaguarda.
  4. Normalmente se instala de manera predeterminada con la configuración básica. No es necesario instalar por separado como pantalla.
  5. Su funcionalidad es muy específica para ejecutar un trabajo en segundo plano y volcar la salida. Memoria baja intensiva.

pantalla:

  1. Tengo que instalar por separado. No puede ir a un centro de datos o iniciar sesión en ningún cuadro y esperar que la pantalla esté presente.
  2. Es bueno administrar múltiples terminales en temas separados y darles nombres.
  3. Es más un administrador de terminales y no un comando para ejecutar un proceso por tiempo infinito como nohup.
  4. Es más adecuado si el proceso necesita la intervención del usuario. Como instalar scripts, sí / no avisos.
  5. Con toneladas de características, viene su memoria. Pero de acuerdo, algunas son características realmente geniales.

@rahmu, nunca adivinaré pid si quieres matarlo. Asegúrese antes de matar a alguien / algo;).

Mejor manera en ambos casos por la pantalla y nohup es: ps -eaf | grep "nohup" | grep "your proc name/keyword".

Use la pantalla y verifique qué se está ejecutando en ella.

Para concluir, son dos cosas diferentes hechas con diferentes agendas, por lo que la comparación es difícil.


20

La pantalla tiene un montón de características. No solo "demoniza" un proceso, es más un administrador de ventanas para terminales.

Se puede usar si el proceso necesita entrada en algún momento, puede ir y verificar la salida del proceso, volver a conectarse a su terminal, ...

Entonces no, no es solo una cuestión de preferencia, no son lo mismo en absoluto.


44
También puede verificar la salida con nohup [...] > fileName.log 2>&1. Además, eso significa que la salida no se pierde.
Sardathrion - Restablece a Monica el

1
Me gusta esa descripción de pantalla: "un administrador de ventanas para terminales"!
rickumali

7

screen te deja:

  1. regrese a la pantalla de ejecución real, envíe señales, vea qué tan rápido va, vea si hay mensajes de error, etc.
  2. nombrar procesos con un título significativo. Si desea matar un proceso, no tiene que adivinar su ID de proceso.

-2
  1. el progreso del proceso también puede verificarse mediante la nohupdepuración de los campos de la base de datos.
  2. ps ax | grep nohup le mostrará la identificación del proceso y puede matarlo.
  3. nohupes más rápido. La razón simple es que depende de la conexión a Internet entre su PC y el servidor. Cada vez que Internet va lento, el proceso también va lento.

2
No entiendo el punto 3. ¿Puedes dar más detalles?
mattdm

1
El punto 2 es incorrecto.
jiggunjer

# 2 mostrará el proceso para matar solo si solo hay un proceso nohup en ejecución De lo contrario, mostrará múltiples. En cualquier caso, el punto 2 no es del todo incorrecto.
Anil_M
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.