From 75b7a33a1275e9cdb7c0959f0edfef81ff2c8e43 Mon Sep 17 00:00:00 2001 From: Jouke Witteveen Date: Sat, 26 Apr 2014 13:45:35 +0200 Subject: Fix pid lookup for killing pppd The pid file contains more than just the pid: on the second line it records the interface pppd manages. --- src/lib/connections/mobile_ppp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/lib/connections/mobile_ppp') diff --git a/src/lib/connections/mobile_ppp b/src/lib/connections/mobile_ppp index 6df30d8..785457d 100644 --- a/src/lib/connections/mobile_ppp +++ b/src/lib/connections/mobile_ppp @@ -79,12 +79,15 @@ EOF } mobile_ppp_down() { - local options chat pidfile + local options chat pidfile pid options="$STATE_DIR/mobile_ppp.$Interface.$Profile/options" chat="$STATE_DIR/mobile_ppp.$Interface.$Profile/modem.chat" pidfile="/var/run/ppp-$Profile.pid" - [[ -r $pidfile ]] && kill "$(< "$pidfile")" + if [[ -r $pidfile ]]; then + read pid < "$pidfile" + (( pid )) && kill "$pid" + fi rm "$options" "$chat" rmdir "$(dirname "$options")" -- cgit v1.2.3-24-g4f1b