У меня есть файл PHP скрипт test1.php
Параллельное выполнение PHP
<?php
echo "hello\n"
?>
Когда я пытаюсь запустить php
через командную строку, используя следующий код только один PHP процесс запуска и другой процесс PHP останавливается.
Напечатано только одно hello
.
Почему другой процесс остановлен?
[[email protected] usr]# php -f test1.php & php -f test1.php
[30] 20817
hello
[[email protected] usr]#
[30]+ Stopped php -f test1.php
PS:
PHP 5.4.16 (cli) (built: Jun 23 2015 21:17:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
Ввод '&' после команды в командной строке помещает его в фоновый режим. Таким образом, первая команда, вероятно, закончила работу в фоновом режиме, и поэтому вы не видите вывод. – jeroen
Это странно. Просто попробовал это в системе ubuntu, и все работает так, как ожидалось, test1.php запускается дважды. – maxhb
Вы должны использовать '&&': '# php -f test1.php && php -f test1.php' –