2016-07-18 20 views
1

ich linux screen Befehl verwenden, um einige PHP-Skript auszuführen:Linux-Bildschirm ohne Fehler beenden

screen -L php artisan queue:work sqs --daemon --env=production 

Aber leider gibt es einige Fehler (in der Warteschlange: Arbeit) und nach 5-10min Bildschirm sofort beendet Befehl, wenn Fehler auftreten . Ich sehe keinen Fehler in screenlog.0. Und weil der Bildschirm beendet wird, verschwindet er und ich kann keine Ausgabe von php artisan queue:work irgendeine Idee lesen, wie man den Bildschirm nicht "verdeckt", wenn er endet (oder ein alternativer Ansatz sein kann)?

+1

'Bildschirm -L php .... 2> & 1> log.txt'? Lassen Sie den Job alle Ausgaben in eine Datei ausgeben, anstatt auf das Terminal. –

Antwort

0

fand ich Antwort:

  1. Lauf screen Befehl ohne Parameter
  2. wenn Befehl startet werden Sie virtuelle Terminal sehen, dann ist Ihr Befehl ausführen: php artisan queue:work sqs --daemon --env=production
  3. Push Strg + a, d

Jetzt, wenn php... abstürzen, wird der Bildschirmbefehl immer noch ausgeführt (was Sie überprüfen können, indem Sie screen -ls und anhängen Terminal von screen -r terminal_id. In meinem Fall sehe ich Fehler Segmentation Fault und ich ändere den Befehl zu: php artisan queue:listen sqs --env=production und jetzt funktioniert alles gut :)