我正在尝试在后台运行 php CLI 脚本,但它无法运行 - 它的状态为“已停止 SIGTOU”(尝试写入输出) - 以下是详细信息
- Mac OS X Lion 10.7.2
- PHP 5.3.6 与 Suhosin-Patch (cli)(构建时间:2011 年 9 月 8 日 19:34:00)
我创建了一个基本脚本 test.php
<?php echo 'Hello world'.PHP_EOL; ?>
以下是各种测试的结果:-
-
php -f test.php
(显示Hello world)
-
php -f test.php >test.log 2>&1
(Hello world 被放入 test.log 中)
-
php -f test.php >test.log 2>&1 &
---我明白了[1]+ Stopped(SIGTTOU) php -f test.php > test.log 2>&1
-- 作业只是坐在那里什么都不做,没有任何记录,但是 lsof 显示日志文件已打开
跟PHP有关系吗?类似的 shell 脚本在后台执行没有问题。
如果在您的 php 版本中启用了 readline,只需将 /dev/null 作为输入传递即可。
在上面的示例中,它将是:
php -f test.php </dev/null >test.log 2>&1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)