%20%D0%97%D0%B0%D0%BF%D1%83%D1%81%D0%BA%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B%20%D0%B2%20%D1%84%D0%BE%D0%BD%D0%BE%D0%B2%D0%BE%D0%BC%20%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D0%B5.png)
Я пытаюсь запустить PHP-скрипт в фоновом режиме на моем сервере Linux через SSH (Putty), но у меня это не работает.
Команда, которую я хочу запустить в фоновом режиме:
php buildscript/build_css.php
какroot@FIG-VMSAM:/var/www/wem#
Я пробовал это, но получил только это и ничего не работает (не создавайте мой CSS за меня)
root@FIG-VMSAM:/var/www/wem# php buildscript/build_css.php &
[1] 2274
[1]+ Stopped php buildscript/build_css.php
Я также пробовал запустить команду обычным способом, а затем перевести ее в фоновый режим, <Ctrl>+z
но это тоже не работает.
В качестве фона в моем PHP-скрипте я использую system()
и вызываюstylus
http://learnboost.github.com/stylus/
и inotifywait
если это поможет?
Кто-нибудь знает, почему у меня это не работает?
решение1
Еще один быстрый ответ... если предположить, что программе действительно не требуется пользовательский ввод:
php buildscript/build_css.php </dev/null &
Причина остановки в том, что программа stdin
по какой-то причине открывается, даже если ей не требуется никаких входных данных.
решение2
Можно ли запустить скрипт на отдельном экране?
sudo apt-get install screen
Затем используйте screen -S screenname
, где screenname — это имя, которое вы даете сеансу экрана.
Оказавшись на экране, вы можете ввести свою команду,php buildscript/build_css.php
Чтобы выйти из сеанса, используйте ctrl+ a+ d.
Чтобы вернуться в сеанс, используйтеscreen -r screenname
Не волнуйтесь, когда вы выйдете из сеанса, команда продолжит работу в фоновом режиме.