Отправка 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