to nie problem z hd-idle a z narzedziem do zarzadzania procesami / demonami o nazwie start-stop-daemon. okazuje sie ze jesli w configu do hd-idle sa dwie takie same sekcje to skrypt /etc/init.d/hd-idle podejmuje probe uruchomienia narzedzia start-stop-daemon dwa razy, za kazdym razem z tymi samymi parametrami. najwyrazniej start-stop-daemon sobie z tym nie radzi.
u mnie pomoglo dodanie do wywolania start-stop-daemon'a parametru w ktorym przechowany zostanie PID uruchomionego procesu, dzieki czemu otrzymujemy dwa niezalezne demony.
ponizej przedstawiam wycinek pliku /etc/init.d/hd-idle, funkcja start_service:
start_service() {
local section="$1"
args=""
config_get "interval" "$section" "idle_time_interval"
config_get "unit" "$section" "idle_time_unit"
config_get "disk" "$section" "disk"
append_string "$section" "disk" "-t"
append_bool "$section" "enable_debug" "-d"
config_get_bool "enabled" "$section" "enabled" '1'
[ "$enabled" -gt 0 ] && $SSD -S -q -p /var/run/hd-idle.$disk -x $PROG -- "-i $(compute_seconds $interval $unit) $args"
}
w stosunku do oryginalu powyzszy kod rozni sie tym ze:
- dodalem wyciaganie z configa nazwy dysku (config_get "disk" "$section" "disk")
- dodalem do wywolania start-stop-daemon'a (SSD) parameter -p /var/run/hd-idle.$disk
config powinien wygladac jak ten pokazany w poscie nr 3.