Завершение сеанса экрана и запуск нового, cron

У меня есть сеанс экрана, который я запускаю с парой работающих в нем окон, которые запускают пару приложений, которые запускают консоль в окне терминала (поэтому я запускаю их на экране).

Я бы хотел убить все окна, а затем добавить два новых, которые, по сути, просто повторно запустили команду, чтобы снова запустить программу.

Поскольку это может немного сбить с толку, вот что я бы сделал если бы я просто пытался сделать это вручную в командной строке:

$ screen -x programs

$ (Hit Control-a + \ )

$ (Hit Control-a + c)

$ program1 args0 args1 #running first program again

$ (Hit Control-a + c)

$ program2 args0 args1 #running second program

Технически мне даже не нужно убивать существующие окна, просто остановите интерактивное окно. Обычно я делаю это, когда в окне просто нажимаю CTRL-D, и программа перестает работать. Затем я просто снова запускаю программу.

Я знаю, что есть команды, чтобы я мог подключиться к существующему сеансу экрана по имени, я просто не знаю, как я могу использовать это, чтобы отправить эквивалент CTRL + D, а затем отправить другая команда к нему.

0
задан 16 March 2017 в 15:59
1 ответ

попробуйте это, чтобы выйти из сеанса работы с экраном.

screen -dr your_session_name -X quit

Note:

Различные Linux/Unix системы имеют различные способы работы с длинными процессами. Если Ваша система управляет процессами, используя systemd, а его версия выше 230, попробуйте прочитать последнее руководство systemd.

0
ответ дан 5 December 2019 в 08:24

Теги

Похожие вопросы