[PHP] exec() Ladefehler

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
  • Wenn ich in php per

    PHP
    exec("sudo sh /path/to/file.sh stop");


    auf die Datei

    Code
    if [ $1 = "start" ]
     then ices2 /etc/ices2/ices-playlist.xml
    elif [ $1 = "stop" ]
     then kill -9 `pidof ices2`
    fi


    zugreife führt er so wie er sollte den befehl kill -9 `pidof ices2` aus, jedoch wenn ich per

    PHP
    exec("sudo sh /path/to/file.sh start");


    auf die Datei zugreife führt er den Befehl zwar aus, aber er Lädt die Seite solange weiter, bis ich den Prozess per kill -9 `pidof ices2` stoppe.
    Wärend er lädt kann ich auch keinerlei Aktionen auf der Website machen.
    Woran liegt das ?


    Ich bedanke mich schonmal für alle sinvollen und hilfreichen Beiträge.

  • Am naheliegendsten ist, dass ices2 nicht als Daemon ausgeführt wird. Mach mal ein "&" hinter den Befehl und ein "nohup" davor, damit er in den Hintergrund geschoben wird:

    Code
    then nohup ices2 /etc/ices2/ices-playlist.xml &


    Sinnvollere Möglichkeit wäre, den Server in nem screen oder tmux laufen zu lassen:

    Code
    then screen -dmS ice ices2 /etc/ices2/ices-playlist.xml


    Dann kannst du ihn beenden mit:

    Code
    then screen -X kill -S ice


    Oder im Terminal dich zu der Session einhängen, wenn du mit dem entsprechenden User eingeloggt bist:

    Code
    screen -r ice