prevent pthreads crash due to killall
Costa Tsaousis (ktsaou) committed
Feb 9, 2016 at 00:49 UTC
a563c05d9bf111a44c5f28495951c31d60543a74
1 file changed
+19
-2
netdata-installer.sh
+19
-2
@@ -294,6 +294,13 @@ fi
294
# -----------------------------------------------------------------------------
295
# stop a running netdata
296
297
+isnetdata() {
298
+ [ -z "$1" -o ! -f "/proc/$1/stat" ] && return 1
299
+ [ "$(cat "/proc/$1/stat" | cut -d '(' -f 2 | cut -d ')' -f 1)" = "netdata" ] && return 0
300
+ return 1
301
+}
302
+
303
+
304
printf >&2 "Stopping a (possibly) running netdata..."
305
ret=0
306
count=0
@@ -306,8 +313,18 @@ do
313
fi
314
315
count=$((count + 1))
309
- run killall netdata 2>/dev/null
310
- ret=$?
316
+
317
+ pid=$(cat /var/run/netdata/netdata.pid 2>/dev/null)
318
+ isnetdata $pid || pid=
319
+ if [ ! -z "${pid}" ]
320
+ then
321
+ run kill $pid 2>/dev/null
322
+ ret=$?
323
+ else
324
+ run killall netdata 2>/dev/null
325
+ ret=$?
326
+ fi
327
+
328
test $ret -eq 0 && printf >&2 "." && sleep 2
329
done
330
echo >&2