Linux (Ubuntu) Programm im Hintergrund ausführen

Linux (Ubuntu) Programm im Hintergrund ausführen

Ich versuche, ein PHP-Skript im Hintergrund auf meinem Linux-Server über SSH (Putty) auszuführen, aber es funktioniert nicht.

Der Befehl, den ich im Hintergrund ausführen möchte, ist:

php buildscript/build_css.phpalsroot@FIG-VMSAM:/var/www/wem#

Ich habe dies versucht und bekomme nur dies und es funktioniert nicht (erstellen Sie mein CSS nicht für mich).

root@FIG-VMSAM:/var/www/wem# php buildscript/build_css.php &
[1] 2274

[1]+  Stopped                 php buildscript/build_css.php

Ich habe auch versucht, den Befehl normal zu starten und ihn anschließend in den Hintergrund zu stellen, <Ctrl>+z aber das funktioniert auch nicht.

Als Hintergrund in meinem PHP-Skript verwende ich system()und rufestylus http://learnboost.github.com/stylus/ und inotifywaitob das helfen soll?

Weiß jemand, warum das bei mir nicht funktioniert?

Antwort1

Eine andere schnelle Antwort ist ... vorausgesetzt, dass das Programm wirklich keine Benutzereingabe benötigt:

 php buildscript/build_css.php </dev/null &

Der Grund für das Anhalten liegt darin, dass das Programm stdinaus irgendeinem Grund geöffnet wird, obwohl möglicherweise keine Eingabe erforderlich ist.

Antwort2

Wäre es möglich, das Skript auf einem separaten Bildschirm auszuführen?

sudo apt-get install screen

Verwenden Sie dann screen -S screenname, wobei „Bildschirmname“ ein Name ist, den Sie der Bildschirmsitzung geben.

Sobald Sie auf dem Bildschirm sind, können Sie Ihren Befehl eingeben.php buildscript/build_css.php

Um die Sitzung zu verlassen, verwenden Sie ctrl+ a+ d.

Um zur Sitzung zurückzukehren, verwenden Siescreen -r screenname

Keine Sorge, wenn Sie die Sitzung verlassen, wird der Befehl im Hintergrund weiter ausgeführt.

verwandte Informationen