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

0

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

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

quando eu faço screen -r ele diz que não há tela para continuar. No entanto, quando tento:

screen -d -m time python3; sleep 1

Então, ao fazer screen -r , ele mostra o console do Py.

O que estou fazendo de errado?

    
por Volatil3 24.05.2017 / 18:37

1 resposta

1

screen -d -m time python3 myscript.py runs python3 myscript.py dentro de uma sessão de tela e, em seguida, sai. Se você não vir essa sessão de tela mais tarde, é porque o script já saiu.

Parece que você esperava que myscript.py fosse executado 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 rodando outro programa.

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

Se o script não funciona quando você o executa diretamente da tela, mas funciona se você executá-lo a partir de um shell interativo, é muito provável que isso indique duas coisas:

  • myscript.py depende de alguma configuração, provavelmente uma variável de ambiente. Não é auto-suficiente.
  • Você está definindo essa configuração no lugar errado. Você provavelmente está configurando uma variável de ambiente em .bashrc , que é somente lida por shells interativos. Definir variáveis de ambiente em .profile ; esse arquivo é lido quando você efetua login.
por 25.05.2017 / 02:34

Tags