Ich möchte gern ein PHP Script im Background laufen lassen, über SSH.
Nun weiß ich leider nicht mehr den genauen Befehl.
Entweder
oderCode:nohup php -f PATH.php
Code:n php -f PATH.php&
Ich möchte gern ein PHP Script im Background laufen lassen, über SSH.
Nun weiß ich leider nicht mehr den genauen Befehl.
Entweder
oderCode:nohup php -f PATH.php
Code:n php -f PATH.php&
Hi,
empfehle dir eine andere Strategie zu wählen. Was ist wenn der Prozess mal beendet wird? Von allein startet sich das nicht mehr. Daher folgendes dazu:
Erstelle einen Cronjob mit
und füge folgende Zeile einCode:crontab -u www-data -e
Code:*/2 * * * * www-data if [ -z "`ps aux | grep -i "FILE.php" | grep -v "grep"`" ]; then php -f /PATH/TO/FILE.php ; fi
- Ändere "FILE.php" an beiden stellen in den exakten Dateinamen ab
- Ändere /PATH/TO/ in den korrekten Pfad ab
- Nutze statt www-data den Benutzernamen unter dem der Cronjob ausgeführt werden soll beginnend bei "crontab -u www-data -e"
Es wird nun 2 Minuten nach dem Systemneustart der Prozess gestartet und alle 2 Minuten geprüft ob er noch läuft, wenn nicht, wird er gestartet.
Mit "nohub" habe ich nie gearbeitet daher kann ich dir da nicht helfen ... aber ja, "nohub" ist eine Möglichkeit Prozesse in den Background zu moven aber auch
GrüßeCode:php -f FILE.PHP &
SzeneBox.org bei Telegram https://t.me/szenebox
Das geht per
Code:php -f PATH.php &
nohup ? Wiki ? ubuntuusers.de
Ich starte nohup immer so:
Meines Wissens wird so das Programm im Hintergrund (nohup) gestartet so das auch wenn der User sich aus dem Terminal auslogt weiterläuft. Hinter dem Befehl noch `> /dev/null &` um die Konsolenausgabe ins Nirvana zu schicken. Das kombiniere ich noch mit der Variante von Syrius. So läuft jeder Bot, FTPd, socksd oder was auch immer, für immer.Code:nohup php PATH.php > /dev/null &
Man kann in übrigen einen crontab auch einfacher erstellen. Aber hier muss man aufpassen da so der eingeloggte user für den Cronjob genutzt wird.
Die kleine `if` Abfrage von Syrius find ich klasse, werd ich in Zukunft auch noch mit einbauen.Code:crontab -l > cronjob echo "*/5 * * * * \"/php /PATH/SKRIPT.PHP\"" >> cronjob crontab cronjob
Geändert von LucidTrip (22.04.2015 um 21:28 Uhr)