Um método simples, mas possivelmente inconveniente, é iniciar o comando com nohup para separá-lo do terminal, pouco antes sair.
nohup mycommand &
logout
Qualquer saída do comando é enviada para o arquivo nohup.out
no diretório atual.
Geralmente, é mais conveniente executar o comando dentro da tela ou tmux Ambos os programas fornecem um terminal dentro de um terminal, e você pode desanexar sua sessão do terminal atual e reconectá-la posteriormente.
screen
# inside the screen session
sleep 60; mycommand
# press Ctrl+A D to detach from the session
# now back in the original shell
logout
Mais tarde:
screen -rd
# inside the screen session, you can see how your command is doing
…
exit
Outra possibilidade é agendar o trabalho para mais tarde. O comando at
permite agendar um trabalho em um horário específico (é o pendente cron para tarefas agendadas regularmente). Se o comando produzir a saída, ele será enviado para você (supondo que você tenha um e-mail local em execução).
echo 'mycommand' | at 23:05