Temat: Supervising demona w procd?

Cześć

Załóżmy że jakiś demon np radiusd czy inny po kilku godzinach sobie zdechnie i nie działa.
Powody mogą być różne,np przez chwilkę zabrakło pamięci ram czy coś podobnego.

Jak w procd zrobić supervising demona, czyli taką opcję, żeby po upadku demon był podnoszony od nowa automatycznie?

Jak taki mechanizm działa?
np daemontools:

# root ~> svstat /service/sshd
/service/sshd: up (pid 3753) 2730 seconds

# root ~> killall -9 sshd; sleep 2s; svstat /service/sshd
/service/sshd: up (pid 3899) 2 seconds

# root ~> killall -9 sshd; sleep 2s; svstat /service/sshd
/service/sshd: up (pid 3970) 2 seconds

Znalazłem coś takiego, ale na razie nie wiem, jak to użyć:
https://gist.github.com/puhitaku/15d3fa … c95e134c3c

2

Odp: Supervising demona w procd?

Ale kombinujesz. W openwrt zrealizowane jest to przez

procd_set_param respawn

Czytaj https://openwrt.org/docs/guide-develope … it-scripts

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

3

Odp: Supervising demona w procd?

Niby jest:

grep -A5 -B5  'procd_set_param respawn' /etc/init.d/radiusd
    procd_open_instance
    procd_set_param command $PROG -s
    procd_set_param env LD_LIBRARY_PATH=/usr/lib/freeradius3
    [ -n "$IPADDR" ] && procd_append_param command -i $IPADDR
    [ -n "$OPTIONS" ] && procd_append_param command $OPTIONS
    procd_set_param respawn
    procd_close_instance
}

Jak nauczyć procd, żeby podnosił demona do skutku np co 10 sekund albo co minutę?

4

Odp: Supervising demona w procd?

W podanym linku masz parametry jakie możesz przekazać do respawn.

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