При помещении команды в фон из сценария PID не отображен на экране. Можно использовать встроенную переменную $!
который хранит PID последнего процесса, таким образом, можно получить PID command1.
command1 &
echo $!
повторил бы PID command1.
Bash также обеспечивает прерывание, встроенное, который можно использовать для регистрации последовательности команд для выполнения, когда конкретные сигналы получены. Можно использовать это, чтобы поймать SIGINT и уничтожить command1 прежде, чем выйти из основного сценария, например.
#!/bin/bash
onINT() {
echo "Killing command1 $command1PID too"
kill -INT "$command1PID"
exit
}
trap "onINT" SIGINT
command1 &
command1PID="$!"
comamnd2
echo Done
Теперь, пока команда 2 работает, совершая нападки Ctrl C заставит и command1 и command2 быть отправленным SIGINT.
] Дело не в приоритете интерфейса. Таблица маршрутизации определяет, по какому пути будет проходить ваш трафик. Смотрите []ip маршрут show[
] и []ip маршрут получает ipaddress[
][
]Большинство VPN проталкивают маршрут по умолчанию через себя. В моей установке OpenVPN я настроил его только на проталкивание маршрутов во внутреннее IP пространство, Однако это опция на стороне сервера.[
] []Ваш клиент может предложить возможность игнорировать протолкнутые маршруты и указывать свои собственные.[
].