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


14

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

screen -S foo -d -m  my_command_goes_here.

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

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

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


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для получения списка текущих запущенных сеансов.
Даррен Холл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.