source: ipk/source.arm/playersnp_vavoo/_path_/etc/init.d/manage-vavoo.sh

Last change on this file was 47966, checked in by aafsvn, 4 months ago

add vav as plugin

  • Property svn:executable set to *
File size: 2.5 KB
RevLine 
[47966]1
2
3#!/bin/bash
4
5# Pfad zum Python3-Skript und Log-Datei
6SCRIPT_PATH="_path_/python/vavoo.py"
7LOG_FILE="_path_/logs/vavoo.log"
8
9# Funktion zum Starten des Skripts
10start_script() {
11 if [ ! -f "$SCRIPT_PATH" ]; then
12 echo "Skript '$SCRIPT_PATH' existiert nicht."
13 exit 1
14 fi
15
16 if pgrep -f "python3 $SCRIPT_PATH" > /dev/null; then
17 echo "Skript '$SCRIPT_PATH' läuft bereits."
18 exit 0
19 fi
20
21 echo "Starte Skript '$SCRIPT_PATH'..."
22 nohup python3 "$SCRIPT_PATH" > "$LOG_FILE" 2>&1 &
23 PID=$!
24 echo "Skript '$SCRIPT_PATH' wurde mit PID $PID gestartet. Logs: '$LOG_FILE'."
25}
26
27# Funktion zum Stoppen des Skripts
28stop_script() {
29 PID=$(pgrep -f "python3 $SCRIPT_PATH")
30
31 if [ -z "$PID" ]; then
32 echo "Skript '$SCRIPT_PATH' läuft nicht."
33 return 0
34 fi
35
36 echo "Beende Skript '$SCRIPT_PATH' mit PID $PID..."
37 kill "$PID"
38
39 # Warte kurz und prüfe, ob der Prozess wirklich beendet wurde
40 sleep 1
41 if pgrep -f "python3 $SCRIPT_PATH" > /dev/null; then
42 echo "Skript konnte nicht normal beendet werden. Versuche mit 'kill -9'..."
43 kill -9 "$PID"
44 sleep 1
45 if pgrep -f "python3 $SCRIPT_PATH" > /dev/null; then
46 echo "Skript konnte nicht beendet werden."
47 return 1
48 else
49 echo "Skript erfolgreich mit 'kill -9' beendet."
50 fi
51 else
52 echo "Skript erfolgreich beendet."
53 fi
54 return 0
55}
56
57# Funktion zum Restarten des Skripts
58restart_script() {
59 stop_script
60 sleep 0.5
61 start_script
62}
63
64# Funktion zum Abfragen des Status
65status_script() {
66 if pgrep -f "python3 $SCRIPT_PATH" > /dev/null; then
67 PID=$(pgrep -f "python3 $SCRIPT_PATH")
68 echo "Skript '$SCRIPT_PATH' läuft mit PID $PID."
69 else
70 echo "Skript '$SCRIPT_PATH' läuft nicht."
71 fi
72}
73
74# Hauptlogik: Argumente auswerten
75if [ $# -eq 0 ]; then
76 # Interaktives Menü, falls kein Argument übergeben wurde
77 echo "Wähle eine Aktion für das Skript '$SCRIPT_PATH':"
78 echo "start) Starten"
79 echo "stop) Stoppen"
80 echo "restart) Restarten"
81 echo "status) Status abfragen"
82 read -p "Eingabe (start/stop/restart/status): " choice
83else
84 # Argument auswerten
85 choice="$1"
86fi
87
88case "$choice" in
89 start)
90 start_script
91 ;;
92 stop)
93 stop_script
94 ;;
95 restart)
96 restart_script
97 ;;
98 status)
99 status_script
100 ;;
101 *)
102 echo "Ungültige Eingabe. Bitte wähle start, stop, restart oder status."
103 exit 1
104 ;;
105esac
106
107
Note: See TracBrowser for help on using the repository browser.