Как я выполняю команду на определенном экране?

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

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

Я создаю экран с screen -dmS screen1 и попытка выполнить команду с screen -S screen1 -X cmd, но экран ничего не делает.
Например, если я работаю screen -S screen1 -X touch /home/user/test, файл не создается.

Проблема автоматического запуска разрешена

1
задан 27 June 2017 в 08:19

1 ответ

Необходимо отправить , входят для этого для работы. Для этого нажмите ctrl + v и затем введите , Входят . Например, Ваша команда была бы похожа на это:

screen -S screen1 -X stuff 'touch /home/user/test^M'

Имеют в виду, что это просто 'наполнит' текст в Ваше первое окно, которое перестанет работать, если уже будет некоторый 'текст' в консоли.

Смотрят на FAQ экрана GNU: Как отправить, команда к окну в выполнении скрывают сессию от командной строки для дополнительных примеров.

Один способ сделать так при экранном запуске использует .screenrc с чем-то как:

# Start some screens by default
screen -t touch -L /bin/sh -c "touch ~/test3;bash"
screen -t mc -L /bin/sh -c "mc;bash"
1
ответ дан 7 December 2019 в 16:28

Другие вопросы по тегам:

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