Linux cómo ejecutar procesos en segundo plano

  
        

Linux ejecuta un proceso directamente, y el proceso finaliza cuando finaliza el comando actual o se cierra la ventana de shell.

Cómo ejecutar un proceso en segundo plano

Método 1

Al usar el comando nohup, el comando nohup en sí significa que no hay colgado significa que el shell no se cerrará, se cerrará. Suelta el proceso.

Use el comando nohup &haga que el comando se ejecute en segundo plano, puede ver el fondo ejecutándose a través de job -l.

El lugar donde se compara el foso es que si el shell se cierra directamente, el shell también cerrará el comando de fondo. Para salir del shell, primero debe ejecutar el comando y luego cerrarlo para ejecutarse en segundo plano.

Método 2

Ejecutar en segundo plano con un script, por ejemplo, quiero ejecutar mongod --dbpath = " abc " para iniciar mongodb.

Primero escribe un script test.sh, el contenido puede ser

#! /bin /sh

mongod --dbpath = " abc " inicia mongodb &< Br>

# 这 &es importante, de lo contrario no puede salir del comando actual.

Luego ejecuta test.sh directamente. En este momento, mongodb ha iniciado y ejecutar el shell de apagado no se detendrá, el problema está surgiendo, ¿por qué? Algunas personas en la red explicaron que

ejecutando con test.sh finalizará inmediatamente, mongodb se indica mediante &Ejecutado en segundo plano, el proceso principal que ejecuta test.sh es el shell actual, (ver el número de proceso del shell puede ser visto por echo $$), test.sh se ejecuta, pero mongod no se ejecutará, test.sh será muy responsable Mongod está alojado en el proceso de inicio del sistema a través de ps -ef

Copyright © Conocimiento de Windows All Rights Reserved