Startdaemon unter Debian erstellen
-
Hallo,
ich habe vor Jahren ein Startscript (/sh) für SUSE Linux erstellt, das mir anhand einer Liste alle zugehörige Programme beim Systemstart als Daemon startet. (/etc/init.d/ ... Verzeichnis)
Später habe ich das Script umgestellt auf /bash über einen Service gestartet ... systemctl start mein script usw. funktionierte auch gut.
Nun habe ich auf Debian umgestellt und hier funktionieren nicht einmal die Befehle.
Ich habe es mit "start-stop-daemon", siehe unten, ... eventuell habe ich auch einen falschen Ansatz ...Wie könnte ich dies lösen, pro Anwendung einen eigenen Service möchte ich nicht machen?
(Können mehr als 30 Programme sein)#!/bin/bash # # ################################################################################ benutzername="xxx" programme= ( "/usr/share/visual/PKLS7_Z -- -plcname Z" "/usr/share/visual/PKLS7_T1 -- -plcname KC" "/usr/share/visual/PKLS7_KE -- -plcname KY" x. y. z. ) ##################################################################################### sigkill(){ stoppen; exit 0; } sigterm(){ stoppen; exit 0; } sigint(){ stoppen; exit 0; } sighup(){ stoppen; sleep 5; starten; } ##################################################################################### starten() { echo "Starting Visual-System" for (( s=0; s < (${#programme[*]}); s++)); do echo "Starting ${programme[s]}" /sbin/start-stop-daemon --start --background --exec ${programme[s]} done } ##################################################################################### stoppen() { echo "Shutting down Visual-System" for (( s=${#programme[*]}-1; s >= 0 ; s--)); do prog=`echo "${programme[s]}" | awk -F" " '{print $1}'` prog=`echo $prog | sed -e "s/ //"` echo "Shutting down $prog" # killproc -TERM $prog /sbin/start-stop-daemon --stop --exec ${programme[s]} done } ##################################################################################### trap 'sigterm' SIGTERM # Prozess normal beenden trap 'sigkill' SIGKILL # Prozess sofort beenden trap 'sigint' SIGINT # STRG+C trap 'sighup' SIGHUP # Reload starten; while true do sleep 2 doneDanke
worst_case