Comment tuer un écran si j'en connais le nom?

14

J'ai un écran nommé 'foo' que j'ai commencé à utiliser la commande

screen -S foo -d -m  my_command_goes_here.

Je veux mettre cela en cron, et le redémarrer tous les soirs en tuant l'écran. La raison pour laquelle j'utilise un écran est que ma commande démarre plusieurs autres procs et cela garantira qu'ils sortiront tous.

Alors ... quelle est la commande pour tuer sceen 'foo'?

Merci!

Poul
la source
1
Quelles commandes exécutez-vous dont vous avez besoin de l'écran pour les faire sortir correctement?
Darren Hall

Réponses:

14

screen -S foo -X quit

Depuis la page de manuel:

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

Essayez d'utiliser ceci:

écran -S foo -X kill

Je serais prudent, en fonction de ce que vous exécutez et de l'état dans lequel il se trouve, cela peut ne pas tuer les processus en cours d'exécution à l'écran et peut provoquer une instabilité du système de fichiers s'il a des fichiers ouverts (je ne sais pas avec certitude , je suppose juste)

Roy Rico
la source
malheureusement cela n'a pas fonctionné.
Poul
travaillé pour moi, était sur ubuntu. Mais je n'avais qu'une seule fenêtre ouverte à l'écran. Aurait dû faire plus de tests.
Roy Rico
2
la seule raison pour laquelle je ne vois pas que cela fonctionne est que si vous avez plus d'une session d'écran nommée foo, utilisez screen -listpour obtenir une liste des sessions en cours d'exécution.
Darren Hall