Как я могу вызвать конец SSH? - PullRequest
0 голосов
/ 06 ноября 2019

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

use_proxy(){
  # change network
  ssh proxy -N
  # revert change
} 

Я пробовал команду trap, например

$ trap "echo 'detected!'" 2
$ ssh proxy -N

Но«обнаружено!»не печатается, когда я заканчиваю ssh с помощью Ctrl + C.
Есть ли проблемы?

1 Ответ

0 голосов
/ 06 ноября 2019

Когда процесс прерывается (например, из ctrl-c), этот процесс получает SIGINT. Если вы хотите знать, когда изменился дочерний процесс, вместо этого введите trap SIGCHLD:

$ trap "echo int" SIGINT
$ trap "echo child" SIGCHLD
$ /bin/cat
ctrl+c
child
...