В крошечном ядре Linux у меня есть следующий скрипт:
#!/bin/sh
# ~/.X.d/freerdp.sh
rdp(){
while true
do
xfreerdp -f [IP Address]
done
}
rdp &
Это довольно просто; когда X запускается и проверяет.Директория Xd (как в случае с крошечным ядром) находит и выполняет этот скрипт. Сценарий запускает freerdp и сохраняет соединение открытым с сервером, перезапуская его всякий раз, когда оно закрывается. Как видно из rdp &
, функция запускается в фоновом режиме, чтобы позволить X продолжить процедуру запуска.
Проблема в том, что всякий раз, когда я отменяю X с помощью CTRL+ALT+BACKSPACE, процесс rdp не умирает.
Я ищу способ убить процесс, как только X завершится, либо через:
A) сценарий, выполняемый при закрытии X, который убивает процесс или B) путем изменения сценария для проверки возвращаемого значения команды xfreerdp
.
NB. Если решение проверяет возвращаемое значение, оно должно завершиться только в том случае, если команда не может открыть X-дисплей. По этой причине, если бы вы могли указать мне ссылку на возвращаемые значения xfreerdp
я был бы благодарен.