Veamos cómo ejecutar un programa o proyecto de Python en segundo plano, es decir, el programa comenzará a ejecutarse desde el momento en que el dispositivo está encendido y se detendrá al apagarlo o cuando lo cierre. Simplemente ejecútelo una vez para asegurarse de que el programa esté libre de errores.
Una forma es usar pythonw , pythonw es la concatenación de python+sin ventana de terminal, es decir, ejecutar python sin ventana de terminal. Puede usarlo ejecutando la siguiente línea en la terminal:
pythonw <nombreDeArchivo.py>
Aquí está el background.py es el archivo:
En Linux y Mac, para ejecutar archivos py en segundo plano, solo necesita agregar y firmar después de usar el comando, le indicará al intérprete que ejecute el programa en segundo plano.
python nombre de archivo.py &
Ejecutará el programa en segundo plano y simultáneamente puede usar una terminal. Habrá una identificación de proceso para el proceso en segundo plano, si lo desea, también puede matar el proceso usando, ya que no puede simplemente matarlo con CTRL + C, para matarlo, abra otra sesión de terminal y use el comando
kill -9 {{id obtenido después de }} &
kill se abrevia para matar el proceso, mientras que -9 solía indicar que lo mate inmediatamente, el estado correspondiente se actualizará. Para obtener su salida, puede descargarla en un archivo usando
python filename.py > filenameToFlush &
Generará salida, es decir, vaciará la salida en el archivo pero se actualizará en la memoria intermedia, debe esperar a que finalice el programa para reflejar la salida en un archivo del disco duro. Para resolver esto, solo necesita decirle al intérprete de python que no use pasos de memoria almacenada en búfer:
Finalizar/eliminar el archivo que se está ejecutando actualmente
Ahora usa la utilidad
python -u nombre de archivo.py > FileToFlush &
Pondrá directamente la salida en el archivo que ha seleccionado.
Si cierra la terminal antes de que finalice el programa, todos los procesos ejecutados por la terminal se detendrán. Está surgiendo una situación de bloqueo para contrarrestar el problema, debe usar el comando nohup como se muestra a continuación. nohup asegurará que el proceso se ejecute hasta el final si cierras la terminal principal. nohup significa no colgar
nohup python -u nombre de archivo.py
Ahora no necesita vaciar la salida en ningún archivo, ya que la utilidad nohup genera un archivo llamado nohup.out mientras se ejecuta. Será como un archivo de registro. El nombre del relleno de salida generado por nohup se reflejará. Para finalizar esta ejecución, necesitará un proceso de identificación. No hay problema si puede recordar o si no puede, debe buscar el archivo. Simplemente use el siguiente comando.
hacha pd | grep nombre de archivo.py
grep es para la búsqueda de patrones, reflejará la identificación del proceso en la terminal, simplemente elimínelo usando kill -9 ID. Ahora el proceso ha terminado.
Publicación traducida automáticamente
Artículo escrito por akshaypawar4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA