Как убить экран, если я знаю его название?

14

У меня есть экран с именем 'foo', который я начал использовать командой

screen -S foo -d -m  my_command_goes_here.

Я хочу поместить это в cron и перезапустить ночью, убивая экран. Причина, по которой я использую экран, заключается в том, что моя команда запускает несколько других процедур, и это гарантирует, что они все завершатся.

Итак ... какова команда убить sceen 'foo'?

Благодарность!

Poul
источник
1
Какие команды вы запускаете, чтобы экран правильно выводил их?
Даррен Холл

Ответы:

14

screen -S foo -X quit

Со страницы руководства:

-X  Send the specified command to a running screen session.
...
quit    Kill all windows and terminate screen.
Зак Томпсон
источник
2

Попробуйте использовать это:

Экран -S Foo -X убить

Я был бы осторожен, хотя, в зависимости от того, что вы запускаете и в каком состоянии он находится, это может не убить процессы, запущенные на экране, и может вызвать нестабильность файловой системы, если у нее открыты какие-либо файлы (я точно не знаю я просто предполагаю)

Рой Рико
источник
к сожалению, это не сработало.
Poul
работал для меня, был на Ubuntu. Но у меня было только одно окно на экране. Должен был сделать больше испытаний.
Рой Рико
2
Единственная причина, по которой я не вижу этой работы, заключается в том, что если у вас есть более 1 именованного сеанса foo, используйте screen -listдля получения списка текущих запущенных сеансов.
Даррен Холл