Temat: Skrypty startowe PROCD w LEDE

Cześć,
czy jest gdzieś coś więcej na ten temat?
Informacje na openwrt są skąpe, na LEDE to WIP sad
Usiłuję uruchomić przez procd syncthing na LEDE x86, syncthing uruchamia 2 procesy: jeden właściwy, drugi monitorujący.

Skrypt startowy wygląda tak:

#!/bin/sh /etc/rc.common

START=99
USE_PROCD=1
SYNCTHING_BIN="/bin/syncthing"
SYNCTHING_HOME="/home/piconas"


start_service() {
    procd_open_instance "PicoNAS"
    procd_set_param env HOME="/home/piconas"
    procd_set_param command ${SYNCTHING_BIN}
    procd_set_param stdout 1
    procd_set_param stderr 1
    procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
    procd_set_param user piconas
    procd_append_param command "-logfile=${SYNCTHING_HOME}/piconas.log"
    procd_close_instance
}

Oczywiście mam utworzonego użytkownika i grupę piconas, katalog domowy założony.
Proces startuje poprawnie z uprawnieniami użytkownika piconas, log tworzy się, wszystko działa jak powinno.
Tylko wywołanie /etc/init.d/piconas stop zatrzymuje proces nadzorcy, proces główny nadal działa, porty 22000 (transmisyjny) i 8384 GUI) są wciąż otwarte. Ponowny start nie udaje się:
logread:

Sun Sep 11 11:36:44 2016 daemon.info syncthing[2676]: [7PZ3W] 09:36:44 FATAL: Cannot open database: resource temporarily unavailable - Is another copy of Syncthing already running?
Sun Sep 11 11:36:44 2016 daemon.info syncthing[2676]: [monitor] 09:36:44 INFO: Syncthing exited: exit status 1
Sun Sep 11 11:36:45 2016 daemon.info syncthing[2676]: [monitor] 09:36:45 WARNING: 4 restarts in 6.223146456s; not retrying further

Sprawę rozwiązuje dodanie do skryptu sekcji:

stop_service() {
    kill -15 `pidof syncthing`
}

Ale nie jest to zbyt elegenckie sad
Wygląda na to, że polecenia sekcji stop_service() wykonują się jako przygotowanie do działania PROCD, więc kill zatrzymiuje oba procesy i PROCD nie ma już nic do roboty.
Włączenie debugowania niewiele daje sad
Gimbus

2

Odp: Skrypty startowe PROCD w LEDE

https://www.lede-project.org/docs/procd.html tyle, reszta to grzebanie po kodzie i domyślanie  się smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Skrypty startowe PROCD w LEDE

No tam już byłem i niestety niewiele z tego wynika.
Trochę więcej na https://wiki.openwrt.org/inbox/procd-init-scripts i linki do przykładów na dole strony,
ale to nadal mało sad
Czyli pozostaje "grzebanie po kodzie i domyślanie się". wink
Dzięki w każdym razie