我在亚马逊EC2 ami linux(centos)实例的cron中有这个命令:
10 9 * * * php -f /var/scripts/schtask/schtask.php
在这个程序中,它使用调用gnu parallel的exec()函数运行此行:
parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.txt
我收到的返回码为:
127
执行时。我在gnu并行退出状态列表中找不到此错误:
https://www.gnu.org/software/parallel/man.html#EXIT-STATUS
文本文件的内容与此类似:
#comment 1
#comment 2
php -f /var/scripts/micros/scripts/micros.php /store_list:"s1"
php -f /var/scripts/micros/scripts/micros.php /store_list:"s2"
php -f /var/scripts/micros/scripts/micros.php /store_list:"s3"
但是,如果我跑:
parallel -j-1 < /var/scripts/_working_files/schtask/schtask/_output/micros_schtask__2017-02-22__09.10.01__4ec2d995fd6fb5e7c866e13502714f36.sh
直接在命令行上,工作。退出代码是什么意思,为什么从cron调用时它不会运行?
谢谢!
答案 0 :(得分:2)
我认为找不到您的php
命令。运行which php
并替换它。
可能如下所示:/usr/bin/php
。
10 9 * * * /usr/bin/php -f /var/scripts/schtask/schtask.php
也可以使用parallel
执行此操作。