]>
glassweightruler.freedombox.rocks Git - Ventoy.git/blob - VBLADE/vblade-master/contrib/persistence/vblade.init.in
6 # Required-Start: $remote_fs $syslog $network
7 # Required-Stop: $remote_fs $syslog $network
8 # Default-Start: 2 3 4 5
10 # Short-Description: vblade exports
11 # Description: Manage all vlbade exports defined in
16 PATH
=/sbin
:/usr
/sbin
:/bin
:/usr
/bin
19 VBLADE
="/usr/sbin/$NAME"
20 [% IF control
== 'ssd' -%]
21 [% PERL
-%]die
('control=ssd cannot be used as long as vblade as no pidfile support');[% END
-%]
22 [% ELSIF control
== 'daemon' -%]
23 DAEMON
=/usr
/bin
/daemon
25 IONICE
=/usr
/bin
/ionice
26 PIDDIR
="/var/run/vblade/"
28 [ -x "$VBLADE" ] || exit 0
29 [% IF control
== 'daemon' -%]
30 [ -x "$DAEMON" ] || exit 0
36 # Load the VERBOSE setting and other rcS variables
39 # Define LSB functions
40 .
/lib
/lsb
/init
-functions
42 # Emulation of LSB functions
49 if [ "$CODE" -eq 0 ] ; then
57 # Start a vblade instance
60 # 0 if daemon has been started
61 # 1 if daemon was already running
62 # 2 if daemon could not be started
67 sh
-n "$CONFIG" 2>/dev
/null
|| return 2
78 [ "$netif" ] || return 2
79 [ "$shelf" ] || return 2
80 [ "$slot" ] || return 2
81 [ "$filename" ] || return 2
83 if [ "$ionice" ] ; then
84 if [ -x "$IONICE" ] ; then
85 ionice
="$IONICE $ionice"
91 [% IF control
== 'ssd' -%]
92 local PIDFILE
="$PIDDIR/$INSTANCE.pid"
93 start
-stop-daemon --start --quiet \
94 --pidfile "$PIDFILE" --exec "$VBLADE" --test > /dev
/null \
96 start
-stop-daemon --start --quiet \
97 --pidfile "$PIDFILE" \
98 --exec $ionice "$VBLADE" -- \
99 $shelf $slot $netif $filename $options \
101 [% ELSIF control
== 'daemon' -%]
105 --pidfiles "$PIDDIR" \
110 --pidfiles "$PIDDIR" \
111 --output daemon.notice \
112 --stdout daemon.notice \
113 --stderr daemon.err
-- \
114 $VBLADE $options $shelf $slot $netif $filename || return 2
118 # Stop a vblade instance
121 # 0 if daemon has been stopped
122 # 1 if daemon was already stopped
123 # 2 if daemon could not be stopped
124 # other if a failure occurred
128 [% IF control
== 'ssd' -%]
129 local PIDFILE
="$PIDDIR/$INSTANCE.pid"
130 start
-stop-daemon --stop --quiet \
131 --retry=TERM
/30/KILL
/5 --pidfile "$PIDFILE" --name "$NAME"
133 [ "$RETVAL" = 2 ] && return 2
134 # Many daemons don't delete their pidfiles when they exit.
137 [% ELSIF control
== 'daemon' -%]
141 --pidfiles "$PIDDIR" || return 1
145 --pidfiles "$PIDDIR" \
147 # Wait until the process is gone
148 for i
in $(seq 1 10) ; do
152 --pidfiles "$PIDDIR" || return 0
163 INSTANCE
="$(basename "${CONFIG%%.conf}")"
167 [ "$VERBOSE" != no
] && log_daemon_msg
"Starting $DESC" "$INSTANCE"
168 do_start
"$INSTANCE" "$CONFIG"
170 0|1) [ "$VERBOSE" != no
] && log_end_msg
0 ;;
171 2) [ "$VERBOSE" != no
] && log_end_msg
1 ;;
175 [ "$VERBOSE" != no
] && log_daemon_msg
"Stopping $DESC" "$INSTANCE"
178 0|1) [ "$VERBOSE" != no
] && log_end_msg
0 ;;
179 2) [ "$VERBOSE" != no
] && log_end_msg
1 ;;
184 status_of_proc
-p "$PIDDIR/$INSTANCE.pid" "$VBLADE" "vblade instance $INSTANCE" || EXIT
=$?
191 echo "$DESC instance $INSTANCE is running"
193 echo "$DESC instance $INSTANCE is not running"
198 restart
|force
-reload)
199 log_daemon_msg
"Restarting $DESC" "$INSTANCE"
203 do_start
"$INSTANCE" "$CONFIG"
207 # Old process is still running or
219 echo "Usage: /etc/init.d/vblade {start|stop|status|restart|force-reload} [<export> ...]" >&2
231 CONFIG
="/etc/vblade.conf.d/$1.conf"
232 if [ -f "$CONFIG" ] ; then
238 for CONFIG
in /etc
/vblade.conf.d
/*.conf
; do
239 if [ -f "$CONFIG" ] ; then