No se puede iniciar la sesión de pantalla

No se puede iniciar la sesión de pantalla

Estoy llamando al siguiente comando a través de bash pero no crea ninguna sesión de pantalla:

screen -d -m time python3 myscript.py ; sleep 1

cuando lo hago screen -rdice que no hay pantalla para reanudar. Sin embargo, cuando lo intento:

screen -d -m time python3; sleep 1

Luego, al hacerlo screen -r, se muestra la consola Py.

¿Qué mal estoy haciendo?

Respuesta1

screen -d -m time python3 myscript.pyse ejecuta python3 myscript.pydentro de una sesión de pantalla y luego sale. Si no ve esa sesión de pantalla más tarde, es porque el script ya salió.

Parece que esperabas myscript.pycorrer más tiempo. Algo debe haber salido mal. Redirija la salida (especialmente los errores) a un archivo para ver qué está pasando. O mantenga la sesión ejecutando otro programa.

screen -d -m time sh -c 'python3 myscript.py; echo $?; sleep 999999999'

Si el script no funciona cuando lo ejecuta directamente desde la pantalla, pero funciona si lo ejecuta desde un shell interactivo, es muy probable que esto indique dos cosas:

  • myscript.pydepende de alguna configuración, probablemente una variable de entorno. No es autónomo.
  • Estás configurando esta configuración en el lugar equivocado. Probablemente esté configurando una variable de entorno en .bashrc, que solo la leen los shells interactivos. Establezca variables de entorno en .profilesu lugar; Este archivo se lee cuando inicias sesión.

información relacionada