Para executar processos de longa duração, eu uso tela ou byobu se você quiser uma interface mais amigável.
Para a tela, você pode usar:
screen [program] [args]
Isso executará [program] e seus [args] dentro de uma sessão screen . Quando o programa terminar, a sessão é automaticamente fechada. Se você deseja manter a sessão após a execução do programa, basta executar a tela sem nenhum argumento e um novo prompt aparecerá dentro da sessão. CTRL + A + D separa o terminal da sessão atual.
Para anexar novamente a uma sessão anterior:
screen -r
Se houver apenas uma sessão aberta, ela será reconectada imediatamente. Se várias sessões estiverem em andamento, ele perguntará para qual delas você deseja anexar. Se você souber o nome da sessão, basta adicioná-lo como um argumento a essa linha de comando.
Byobu é uma boa melhoria. Ele é baseado na tela , mas fornece uma barra na parte inferior que mostra todas as sessões atuais como guias e fornece atalhos mais fáceis para contorná-las. Você pode:
- F2 inicia uma nova sessão
- F3 passa para a próxima guia da sessão à esquerda
- F4 passa para a próxima guia da sessão à direita
- F8 fornece um nome amigável para a guia da sessão atual
- F9 abre um menu de opções
- CTRL + A + D desanexa todas as sessões do terminal.
PALAVRA DE CONSELHO : evite deixar uma sessão aberta com o usuário root . Se alguém obtiver acesso ao seu terminal (local ou remotamente), ele poderá se reconectar facilmente a uma sessão em andamento e usar seu sistema como root. Se necessário, é melhor iniciar uma sessão usando um usuário comum e as linhas de comando indivudual de sudo conforme necessário.