Я пытаюсь запустить 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 если это поможет?

Кто-то знает, почему это не работает для меня?

2 ответа2

1

Можно ли запустить скрипт на отдельном экране?

sudo apt-get install screen

Затем используйте screen -S screenname где screenname - это имя, которое вы даете экранной сессии.

Оказавшись на экране, вы можете ввести свою команду: php buildscript/build_css.php

Для того, чтобы оставить сеанс, используйте CTRL+A+D.

Чтобы вернуться в сеанс, используйте screen -r screenname

Не волнуйтесь, когда вы выходите из сеанса, команда будет работать в фоновом режиме.

1

Еще один быстрый ответ ... если предположить, что программа действительно не требует ввода данных пользователем:

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

Причина, по которой он останавливается, заключается в том, что программа по какой-то причине открывает стандартный stdin , даже если он не требует ввода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .