PHP-скрипт работает на терминале, но не в фоновом режиме

1

Я получаю странную ошибку, пытаясь понять ее с самого начала, не имея понятия.

У меня есть сценарий /home/myname/script.php который содержит

 <?php
while(True) {
    echo "You said: ".$argv[1];
    sleep(5);
}

Когда я запускаю прямо на терминал, вот так:

/usr/bin/php /home/myname/script.php hello

Я получаю ожидаемый результат, и скрипт не останавливается. Но если я это сделаю

/usr/bin/php /home/myname/script.php hello &

он останавливается немедленно, а не работает в фоновом режиме, как это.

[1]+  Stopped  /usr/bin/php /home/myname/script.php hello

Любые идеи почему?

  • 0
    Дубликат stackoverflow.com/questions/6989161/…
  • 0
    Благодарю. Использование nohup решило проблему. Но он должен работать без nohup , верно?
Теги:
command-line-interface

1 ответ

1

Используйте nohup/usr/bin/php/home/myname/script.php hello &.

Чтобы проверить, вы можете перенаправить свой вывод в nohup/usr/bin/php/home/myname/script.php hello > log.txt &

Ещё вопросы

Сообщество Overcoder
Наверх
Меню