Como eu mato uma tela se eu sei o nome dela?

14

Eu tenho uma tela chamada 'foo' que comecei a usar o comando

screen -S foo -d -m  my_command_goes_here.

Quero colocar isso no cron e reiniciá-lo todas as noites matando a tela. A razão pela qual estou usando uma tela é que meu comando inicia vários outros procs e isso garantirá que todos saiam.

Então ... qual é o comando para matar sceen 'foo'?

Obrigado!

Poul
fonte
1
Quais comandos você está executando e precisa da tela para que eles saiam corretamente?
Darren Hall

Respostas:

14

screen -S foo -X quit

Na página do manual:

-X  Send the specified command to a running screen session.
...
quit    Kill all windows and terminate screen.
Zac Thompson
fonte
2

Tente usar isto:

tela -S foo -X kill

Eu seria cauteloso, dependendo do que você está executando e do estado em que está, isso pode não matar os processos em execução na tela e talvez causar instabilidade no sistema de arquivos se houver arquivos abertos (não sei ao certo estou apenas assumindo)

Roy Rico
fonte
infelizmente isso não funcionou.
Poul
trabalhou para mim, estava no ubuntu. Mas eu só tinha uma janela aberta na tela. Deveria ter feito mais testes.
Roy Rico
2
O único motivo pelo qual não consigo ver esse trabalho é se você tiver mais de uma sessão de tela nomeada foo, use screen -listpara obter uma lista das sessões em execução atuais.
Darren Hall