O comando screen é extremamente útil para executar múltiplos scripts simultaneamente em segundo plano. Isso permite que você inicie tarefas de longa duração sem manter um terminal aberto para cada uma delas. Abaixo, vamos detalhar como usar o screen para executar scripts em segundo plano e gerenciar essas sessões.
Executando Scripts em Segundo Plano
Você tem três scripts que executam diferentes tarefas em ~/project.
Abra o terminal ( ① ou ② na figura ) no ambiente e insira o seguinte comando:
ls ~/project
Se você deseja executar esses 3 scripts ao mesmo tempo, pode fazer assim:
Agora, usaremos o screen para executar esses scripts simultaneamente em sessões desanexadas.
Para executar esses scripts em segundo plano usando screen, usaremos a opção -dmS:
-d inicia uma sessão e imediatamente se desanexa dela.
-m força o screen a criar uma nova sessão.
-S nos permite nomear a sessão para fácil referência.
Iniciando os Scripts
Abra um terminal e navegue até o diretório contendo seus scripts. Em seguida, inicie cada script em uma sessão screen separada usando os seguintes comandos:
Após iniciar os scripts, você pode gerenciar essas sessões screen com vários comandos.
Listar todas as sessões
screen -ls
Este comando mostrará todas as suas sessões screen em execução.
Reanexar a uma sessão
screen -r session_name
Se você deseja verificar a saída ou interagir com um script específico, use este comando para reanexar à sua sessão. Substitua session_name pelo nome que você atribuiu ao iniciar o script (por exemplo, task1, task2 ou task3).
Desanexar de uma sessão
Depois de terminar de verificar uma sessão, você pode desanexar dela e deixá-la continuar executando em segundo plano pressionando Ctrl-a seguido por d.
Terminar uma sessão
Para terminar uma sessão, reanexe-a usando screen -r session_name e, em seguida, digite exit ou pressione Ctrl-d.
Usar o screen para gerenciar múltiplas tarefas em segundo plano pode otimizar significativamente seu fluxo de trabalho, especialmente ao lidar com processos de longa duração ou em segundo plano. Ao executar scripts em sessões screen desanexadas, você mantém um espaço de trabalho limpo e garante que seus processos continuem ininterruptos, mesmo que você se desconecte do servidor ou feche seu terminal.
Experimente o screen para descobrir como ele pode se encaixar melhor em seu fluxo de trabalho e aumentar sua produtividade!