Você não pode se conectar novamente à sessão screen
iniciada porque ela já foi encerrada. Quando você der um comando para screen
, ele executará esse comando e sairá imediatamente.
Se eu definir um trabalho cron
como abaixo, tudo funciona: a nova sessão de tela é iniciada e eu posso acessá-la mais tarde.
* * * * * screen -d -m -S test
Mas se a entrada cron
for a seguinte, a sessão de tela não será iniciada ou, pelo menos, não será recuperável ( screen -ls
não a encontra).
* * * * * screen -d -m -S test date
* * * * * screen -d -m -S test bash -c “date”
Se eu executar qualquer um dos itens acima, diretamente da linha de comando, tudo funcionará como esperado.
Mas eu tentei qualquer combinação de comandos que eu pudesse pensar e nenhum funcionou, então eu claramente sinto falta de algo.
Você não pode se conectar novamente à sessão screen
iniciada porque ela já foi encerrada. Quando você der um comando para screen
, ele executará esse comando e sairá imediatamente.
As telas são por usuário. Crons são tarefas agendadas em segundo plano. Se você precisa saber a saída de um determinado cron, é melhor enviar um arquivo para um arquivo ou dizer para ele enviar um e-mail para você.
Botar para executar uma sessão de tela não é realmente o que isso significa para o IMO.
Tags cron gnu-screen