Отправка Ctrl-C на определенный сеанс экрана

Я разрабатываю сценарий для запуска процесса внутри именованного сеанса экрана.

as_user "screen -p 0 -S **$command** -X eval 'stuff \"wine LFS.exe /cfg=**$command**.cfg\"\015'"

Так bash myscript.sh start test создаст экран с именем test и запустит test.cfg с программным обеспечением.

Теперь я хочу, чтобы мой сценарий получил доступ к определенному экранному сеансу и сделал CTRL+C, чтобы остановить запущенный процесс, чтобы я мог завершить сеанс экрана.

Что-то вроде этого:

as_user "screen -p 0 -S **$command** **... kill the process with ctrl-c...**"
as_user "screen -p 0 -S **$command** -X eval 'stuff \"exit\"\015'"

1 ответ

Я тебя не совсем понимаю но отправить ctrl-c к окну в сеансе экрана:

screen -S session_name -X at window_number stuff $'\003'
# or
screen -S session_name -X -p window_number stuff $'\003'

Если вы хотите отправить что-то во все окна, используйте # (необходимо указать) как window_number,

ОБНОВИТЬ:

экрана stuff Команда также поддерживает ^X (или же ^x) означать CTRL-X поэтому следующую команду также можно использовать для отправки CTRL-C,

screen -S session_name -X at window_number stuff ^C
Другие вопросы по тегам