Portál AbcLinuxu, 5. května 2025 21:32
#!/bin/sh ... while [ true ]; do file=`inotifywait -r -e close_write $target 2>/dev/null | awk '{ printf $1$3}'` ... doneTento skript je spuštěn z init skriptu, pomocí
start-stop-daemon --start --quiet --pidfile $PIDFILE --background --make-pidfile --exec $DAEMON_WRAPPER -- $ARGS
pid hlavního procesu tedy mám uložený v souboru.
Při zavolání stop toho init skriptu se snažím o zabití hlavního procesu + všech podprocesů (ionotifywait, awk), to se mi však nedaří.
zkoušeno
pkill -P $(cat $PIDFILE)
pkill -TERM -P $(cat $PIDFILE)
kill -9 $(cat $PIDFILE)
kill -- -$(cat $PIDFILE)
Buďto se neukončí ani hlavní proces, nebo se ten ukončí, ale ionotifywait mi zůstává žít, přičemž už to není podřízený proces.
Prosím o radu, jak toto vyřešit.
set -e
na začátek prvního skriptu (před while).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.