Não foi possível iniciar a sessão de tela

Não foi possível iniciar a sessão de tela

Estou chamando o seguinte comando via bash, mas ele não está criando nenhuma sessão de tela:

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

quando faço screen -risso diz que não há tela para retomar. No entanto, quando tento:

screen -d -m time python3; sleep 1

Então, ao fazer screen -risso, mostra o console Py.

O que estou fazendo de errado?

Responder1

screen -d -m time python3 myscript.pyé executado python3 myscript.pydentro de uma sessão de tela e depois sai. Se você não vir essa sessão de tela posteriormente, é porque o script já foi encerrado.

Parece que você esperava myscript.pycorrer por mais tempo. Algo deve ter dado errado. Redirecione a saída (especialmente erros) para um arquivo para ver o que está acontecendo. Ou mantenha a sessão executando outro programa.

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

Se o script não funcionar quando você o executar diretamente na tela, mas funcionar se você executá-lo em um shell interativo, é muito provável que isso indique duas coisas:

  • myscript.pydepende de alguma configuração, provavelmente uma variável de ambiente. Não é independente.
  • Você está definindo essa configuração no lugar errado. Você provavelmente está definindo uma variável de ambiente em .bashrc, que só é lida por shells interativos. Em vez disso, defina variáveis ​​de ambiente .profile; este arquivo é lido quando você faz login.

informação relacionada