El host remoto de Linux ejecuta el script de pausa de tareas en segundo plano.
Palabras clave:;, nohup, pausa del guión.
Cuando usamos Unix/Linux, generalmente queremos tener un programa ejecutándose en segundo plano, por lo que a menudo usamos amp para permitir que el programa se ejecute automáticamente cuando finaliza.
Escriba Ctrl C, señal SIGINT, el programa continuará ejecutándose.
Método 1: Ingrese el comando: trabajos.
Método 2: Ingrese el comando: ps.
Comandos fg, bg, jobs, amp, nohup, ctrl z, ctrl c.
Al final de un comando, puede poner el comando en segundo plano. Por ejemplo,
puede poner el comando que se está ejecutando en primer plano en segundo plano en un estado de pausa. .
Ver cuántos comandos se están ejecutando actualmente en segundo plano.
La opción jobs -l puede mostrar el PID de todas las tareas y el estado del trabajo puede ser en ejecución, detenido o finalizado. Sin embargo, si la tarea se elimina, el shell eliminará el identificador del proceso de la tarea de la lista conocida en el entorno actual del shell.
Mueva los comandos en segundo plano al primer plano para continuar ejecutándose. Si hay varios comandos en segundo plano, puede usar fg número de trabajo (número de comando, no número de proceso) para llamar el comando seleccionado.
Cambiar un comando que está pausado en segundo plano para que continúe ejecutándose en segundo plano. Si hay varios comandos en segundo plano, puede usar bg número de trabajo para llamar al comando seleccionado.
Método 1: verifique el número de trabajo (asumiendo num) mediante el comando jobs y luego ejecute kill num.
Método 2: verifique el número de proceso (pid, asumiendo PID) del trabajo mediante el comando ps y luego ejecute kill pid.
Terminación del proceso en primer plano: Ctrl c
Si el programa siempre se ejecuta en segundo plano, se ejecutará incluso si la terminal actual está cerrada (el amplificador anterior no puede hacer esto ), que se necesita en este momento nohup. Este comando puede continuar ejecutando el proceso correspondiente después de cerrar sesión en su cuenta/cerrar el terminal.
Después de cerrar la interrupción, los trabajos ya no pueden ver el programa ejecutándose en segundo plano en otra terminal, así que use ps (comando de vista de proceso) en este momento.
Como se muestra en la imagen de arriba:
Nohup y amp;
Puede enviar a out.log para guardar el resultado del programa, o puede enviar a /dev/null, que es un dispositivo vacío sin guardar el resultado.
No importa si está en nohup.out o test.out, no puede ver los resultados de los datos de los tres métodos anteriores porque la ejecución de Python ha almacenado en caché la salida.
Solución
Nueva interfaz para acceder al visor
Usar programa en ejecución en segundo plano:
Los resultados se enviarán al terminal.
Usa Ctrl C para enviar la señal SIGINT, programa inmunidad.
Al cerrar la sesión se envía una señal SIGHUP y se cierra el programa.
Ejecute el programa usando nohup:
De forma predeterminada, los resultados se enviarán a nohup.out.
Usa Ctrl C para enviar la señal SIGINT y el programa se cerrará.
Cierra la sesión y envía la señal SIGHUP, y el programa será inmune.
Nohup y el programa de startups de cooperación:
Inmune a las señales SIGINT y SIGHUP
Al mismo tiempo, existe una mejor práctica:
No envíe información a la salida estándar del terminal o a la salida de error estándar. En su lugar, utilice el componente de registro para registrar la información en un registro.
¿Cuál es la diferencia entre Nohup y amp;?