История такова. Есть сервак на которм крутится OVPN сервер с конфигом под tun. Появилась задача запустить второго демона OVPN, но уже с конфигом под tap. Написал скрипт start/stop.
#!/bin/sh
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ONVPN_TAP_PID=`ps | grep "openvpn --daemon --cd /opt/etc/openvpn --config openvpn-tap.conf" | awk '{print $1}' | head -1`
ONVPN_TAP_PID=${ONVPN_TAP_PID}
start() {
openvpn --daemon --cd /opt/etc/openvpn --config openvpn-tap.conf
sleep 1
brctl addif br0 tap0
ifconfig tap0 up
}
stop() {
<------>
ifconfig tap0 down
brctl delif br0 tap0
kill ${ONVPN_TAP_PID}
}
restart() {
<------>stop
<------>sleep 3
<------>start
}
case "$1" in
<------>start)
<------><------>start
<------><------>;;
<------>stop)
<------><------>stop
<------><------>;;
<------>restart)
<------><------>restart
<------><------>;;
<------>link_up)
<------><------>;;
<------>ppp_up)
<------><------>;;
<------>link_down)
<------><------>;;
<------>ppp_down)
<------><------>;;
<------>*)
<------><------>echo "Usage: $0 {start|stop|restart|link_up|link_down|ppp_up|ppp_down}"
<------><------>;;
esac
С запуском все ок, а вот с остановкой возникла проблема. ТАП демона я убиваю по pid, а pid я получаю
ONVPN_TAP_PID=`ps | grep "openvpn --daemon --cd /opt/etc/openvpn --config openvpn-tap.conf" | awk '{print $1}' | head -1`
ONVPN_TAP_PID=${ONVPN_TAP_PID}