Seu redirecionamento se referirá apenas à saída do comando screen
, não à saída no terminal da tela. Sugiro que você crie um arquivo screenrc
especial para essa instância de tela com o seguinte conteúdo:
session top -b -p $MYPID
sessionname TOP
logfile /path/to/top.log
log on
detach
A variável de ambiente MYPID
deve ser definida antes de chamar o comando screen
. Em seguida, você invoca screen
usando a opção -c
e o nome do arquivo screenrc
:
MYPID=$PID screen -c /path/to/top-screenrc
O arquivo screenrc
contém os comandos screen
, conforme explicado na página man. Primeiro, ele cria uma nova sessão com top
, define um nome de sessão, define um arquivo de log para ele e, em seguida, inicia o registro. Como última etapa, a sessão é desanexada e o comando retorna ao prompt. Você não precisará enviá-lo explicitamente em segundo plano (ou seja, anexar &
não será necessário).
Espero que isso corresponda ao seu problema.