Eu tenho lidado com isso da seguinte forma:
process=$(screen -ls | grep screen1)
kill $(echo $process | cut -f1 -d'.')
exit
A explicação é que você pega a saída de screen -ls
e encontra a tela em particular que está interessado usando grep e então atribui aquela string à variável process
.
Como a saída de screen -ls
é sempre o PID seguido por um período, você pode usar o corte para se livrar do período e depois de tudo. no exemplo acima, colocamos isso entre parênteses e o alimentamos para o comando kill, embora você possa fazê-lo linearmente, o que pode incluir a gravação em um arquivo temporário e a leitura dele.
Você precisa ter certeza de que seu nome de tela é único e que grep está SOMENTE retornando o nome da tela que você quer matar.